2016-06-13 37 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)

相关问题