【问题标题】:save array in a loop循环保存数组
【发布时间】:2015-03-08 19:25:45
【问题描述】:

我有一个循环更新的数组(popt),我想将它保存在一个文件中。

for k in range (1:N):
    # here I make "popt" array which is depend on k
    np.savetxt('test.out',popt)

由于覆盖问题,只保存最后更新的popt。如何保存这个数组的所有数据,而不仅仅是最后一个?

for k in range (1:N)
    # here I make "popt" array which is depend on k
    np.savetxt('test.out',popt)

【问题讨论】:

    标签: python arrays loops output


    【解决方案1】:

    您直接将文件指定给 savetxt() 函数。我会手动打开文件并传递文件句柄;这样你就可以告诉 Python 追加到文件中。

    with open('test.out','a') as f_handle:
        np.savetxt(f_handle, popt)
    

    【讨论】:

      【解决方案2】:

      如果您只想将矩阵添加到现有的 ASCII 文件中,您可以 以附加模式打开此文件并将文件句柄提供给 numpy.savetxt :

      f_handle = file('test.out', 'a')
      np.savetxt(f_handle, popt)
      f_handle.close()
      

      【讨论】:

        【解决方案3】:

        或者更确切地说,如果您打算在处理完循环后保存文件一次,请将 np.savetext() 命令移出循环 - 将其取消缩进一次。这甚至可能是错误发生的。

        【讨论】:

          猜你喜欢
          • 2015-02-09
          • 2021-07-28
          • 1970-01-01
          • 1970-01-01
          • 2019-01-15
          • 2017-08-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多