Привет! Я только начал программировать на python и пытаюсь использовать subprocess.Popen для запуска нескольких экземпляров программы, которую я компилирую, используя "make". Но прежде, чем я сделаю «make», я должен выполнить некоторую обработку текста и сгенерировать набор файлов, которые «make» будет использовать. Теперь я хотел бы запустить одну и ту же программу с разными сгенерированными файлами одновременно и записать вывод всех экземпляров вывода программы в один и тот же файл. В зависимости от количества экземпляров, мне также придется генерировать столько текстовых файлов. По сути, я хочу сделать все операции ниже первого цикла for одновременно, скажем, 'n' раз. Любая предложенная помощь будет принята с благодарностью:).
for mC in range(monteCarlo):
print "Simulation Number",str(mC+1),"of",str(monteCarlo)
L = numpy.zeros((1,4),float)
W = numpy.zeros((1,4),float)
i = 0
j = 0
with open("1t.sp", "r") as inFile:
with open("2t.sp","w") as outFile:
line = inFile.readline()
while (line != ""):
newLine = []
for words in line.split():
if words.startswith("W="):
W[0,i] = float(words[2:].replace('n',''))*random.normalvariate(1,widthDeviation)
#print i,words,str('W='+str(W[i]).strip('[]')+'n').replace(" ","")
words = str('W='+str(W[0,i]).strip('[]')+'n').replace(" ","")
i = i+1
elif words.startswith("L="):
L[0,j] = float(words[2:].replace('n',''))*random.normalvariate(1,lengthDeviation)
#print j,words,str('L='+str(L[j]).strip('[]')+'n').replace(" ","")
words = str('L='+str(L[0,j]).strip('[]')+'n').replace(" ","")
j = j+1
newLine.append(words)
#print newLine
outFile.write(" ".join(newLine))
outFile.write("\n")
line = inFile.readline()
outFile.close()
inFile.close()
openWrite.write(str(W).strip('[]'))
openWrite.write(str(L).strip('[]'))
call(["make"])
fRate = (open("tf.log","r").readlines()[34]).split()[-2]
cSect = (open("tf.log","r").readlines()[35]).split()[-2]
openWrite.write("\t")
openWrite.write(fRate)
openWrite.write(" ")
openWrite.write(cSect)
openWrite.write("\n")
openWrite.close()