0
我想將幾個子進程python程序的輸出寫入同一個文件。主要Python程序是這樣的:python使用for循環中的多個子進程寫入相同的文件
forums = ["f20","e70","x3","e89","series7","m5","f10","series6","z4e85","i3i8","f22","f80","f15","f48","f87"]
for f in forums:
command = "python 01-measurevariation.py "+ f+"-commoncrawl-timestamp.csv-excludeunif"
print command
exit_status = subprocess.call(command, shell=True)
而且子Python程序01-measurevariation.py是在這裏(只顯示相關代碼):
input_file= str(sys.argv[1])
output_file = "tsvariations.csv"
...
with open(input_file) as to_read:
with open(output_file, "wb") as tmp_file:
reader = csv.reader(to_read, delimiter = ",")
writer = csv.writer(tmp_file)
....
writer.writerow (["variance of "+sys.argv[1]+" is "+"%.2f" % numpy.var(difflist)+ " hours"])
writer.writerow (["std of "+sys.argv[1]+" is "+ "%.2f" % numpy.std(difflist) +" hours"])
但是,輸出文件「tsvariations.csv 「只包含2行,它是主python程序for循環中最後一個子進程的輸出。
我想要tsvariations.csv包含所有子流程輸出,它應該總共有30行。 (「論壇」列表中15個條目中的每一條都有2行)。我怎樣才能做到這一點?謝謝。
以追加模式打開文件。 – spectras
適合我!謝謝你的眼鏡! – yuhengd