2016-06-13 4 views
0

関数内のループ内でファイルを保存/作成するにはどうすればよいですか?次の例では、メッセージを出力する関数を実行し、すべての繰り返しでメッセージとともにファイルを保存します。ただし、メッセージは出力されますが、最後のファイル(10)のみが保存されます。私はそうは思わしくないと思う。私の実際の機能は、いくつかのデータセットを生成する包括的な水流モデルです。誰かがすべての時間ステップのすべてのデータを参照または使用したい場合は、すべてをディスクに書き込むことによってメモリの詰まりを回避したいと考えています。私は、CPUの性能を詰まらせたメモリに失うことを好む。関数内のループ内でファイルを作成/保存する方法は?

def worldloop(message='hello world',no=10): 
     import numpy as np 
     fname_template='/home/blubb/Desktop/blaa{cap}' 
     for i in range(no): 
      cap=no 
      np.save(fname_template.format(cap=cap) , message) 
      print message 

答えて

0

np.save(fname_template.format(cap=i) , message)ino == 10がちょうどcap=iに変更するか、使用場所を変更:

def worldloop(message='hello world',no=10): 
     import numpy as np 
     fname_template='/home/blubb/Desktop/blaa{cap}' 
     for i in range(no): 
      np.save(fname_template.format(cap=i) , message) 
      print message 
+0

笑.... ummmmhhhh ....私はクレイジー見didntのことそれ。それを指摘してくれてありがとう! – Scrox

0

あなたが同じファイルを毎回上書きされるように、ファイル名としてcapを使用し、その後、cap = noごとの繰り返しを設定します。

cap = noを削除し、あなたがcap=noを間違えるnp.save(fname_template.format(cap=cap) , message)

関連する問題