2016-06-13 39 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

你錯cap=no其中no == 10只是將其更改爲cap=i或使用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 ....哈哈....瘋了我沒有看到那。感謝您指出! – Scrox

0

您設置cap = no每次迭代,然後使用cap作爲文件名,所以你每次都覆蓋相同的文件。

刪除cap = no,改變np.save(fname_template.format(cap=cap) , message)np.save(fname_template.format(cap=i) , message)

相關問題