【问题标题】:How to create/save files within a loop in a function?如何在函数的循环中创建/保存文件?
【发布时间】:2016-06-13 07:05:45
【问题描述】:

如何在函数的循环中保存/创建文件?在下面的示例中,我想运行一个函数,该函数在每次迭代中打印一条消息并使用该消息保存一个文件。但是,它会打印消息,但只保存最后一个文件 (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

【问题讨论】:

    标签: python function loops output


    【解决方案1】:

    你把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
    

    【讨论】:

      【解决方案2】:

      你每次迭代都设置cap = no,然后使用cap作为文件名,所以你每次都覆盖同一个文件。

      删除cap = no并将np.save(fname_template.format(cap=cap) , message )更改为np.save(fname_template.format(cap=i) , message )

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-16
        相关资源
        最近更新 更多