2017-04-25 51 views
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行)。我怎樣才能做到這一點?謝謝。

+2

以追加模式打開文件。 – spectras

+0

適合我!謝謝你的眼鏡! – yuhengd

回答

0

解決的評論:
打開追加模式的文件。 - spectras昨天

相關問題