Hi I have just started programming in python and I am trying to use subprocess.Popen to run multiple instances of a program that i compile using "make". But before i do a "make", I have to do some text processing and generate a set of files that "make" will use. Now I would like to run the same program with different generated files simultaneously and write the output of all the instances of the output of the program into the same file. Depending upon the number of instances, I will also have to generate that many text files. In essence, I want to do all operations below the first for loop, simultaneously, lets say 'n' times. Any help offered would be greatly appreciated :).
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()