#!/usr/bin/env python # -*- coding: utf-8 -*- import re from subprocess import Popen, PIPE from subprocess import call p = Popen(["xcrun","simctl","list","devices"], stdin=PIPE, stdout=PIPE, stderr=PIPE) output, err = p.communicate(b"input data that is passed to subprocess' stdin") blocks = re.split("--\s+(.*?)\s+--",output) dic = {} i=0 for block in blocks: matches = re.findall("iOS 8.4",block) if len(matches)>0: content = blocks[i+1] lines = content.split("\n") for line in lines: line = line.strip() if len(line)>0: match = re.match("(.*?)\(",line) if match: devicename = match.group(1) idMatch = re.match(".*?\((.*?)\).*",line) dic[devicename] = idMatch.group(1) # print match.group(1) # print line i = i+1 for guid in dic.itervalues(): call(["xcrun","simctl","delete",guid])