2011-08-03 5 views
1

私はこのコードを書いています。ここでは、この関数から生成された値とリストとして格納された値をそれぞれtimeListとに書き込みます。私はちょうど私が推測する同じ機能のtimeListの値を書くことになっていない。おそらく、別の機能で実行する必要があります。私はすでにファイルにtimeListを持っています。今度はparameterListを同じファイルに書きますが、timeListの値に従わずに、timeListの右側に書き込む必要があります。 timeListcurve.datファイルである:異なる関数から生成された値を1つのファイルに書き込みます

0.07
0.06
0.08
0.12
0.11
0.09
0.14
0.05
0.06

parameterListには:

[0.744527502029805, 1.3466145472841764, 2.8186875392157371, 3.2822440320192392, 7.9272007790523782, 6.0493081375991276, 9.2609232787439613, -611.06135600582172, -399.75236270058838]

今、私は次のようcurve.datファイルの内容を持っている必要があります。

 
0.07  0.744527502029805 
0.06  1.3466145472841764 
0.08  2.8186875392157371 
0.12  3.2822440320192392 
0.11  7.9272007790523782 
0.09  6.0493081375991276 
0.14  9.2609232787439613 
0.05  -611.06135600582172 
0.06  -399.75236270058838 

誰かがこれを助けてくださいでした。ありがとうございました。 for line in tFileループ内ながら

def time(transcriptionFile) : 
    with open("transcriptions.txt", "r") as tFile : 
     timeList = [] 
     parameterList = [] 

     for line in tFile : 
      li = line.split() 
      if li : 
       start_time = (int(li[0])/10000000.) 
       end_time = (int(li[1])/10000000.) 
       duration = ((int(li[1]) -int(li[0]))/10000000.) 
       timeList.append(duration) # t(u) values for plotting the bezier curves 

       with open("curve.dat", "w") as outFile: 
        outFile.write("\n".join(str(x) for x in timeList)) 

       poly = poly_coeff(start_time, end_time, duration) 

       Newton(poly, 0.42, parameterList) 
+0

@ F.J:私の投稿を編集していただきありがとうございます。私は試しましたが、自分ではできませんでした。 – zingy

答えて

3

ファイルにtimeListを書き込まないでください。 ファイルを何回開いて閉じるか(非常に非効率的)に注意してください。また、(遅延喜びを!)あなたは'w'(書き込み)モードの代わりに、'a'(追記)モードでファイルを開く場合、それは以前の内容を上書きし、気づく...

代わりに、待って、あなたが timeListと組み立て parameterListの両方を持っているまで。それからdo

with open("curve.dat", "w") as outFile: 
    for t,p in zip(timeList,parameterList): 
     outFile.write('{t}\t{p}\n'.format(t=t,p=p)) 
+0

@ unutbu:PERFECT ....ありがとう、ありがとう。 – zingy

関連する問題