如何在python中将数组迭代保存到文件中?
我想在for循环中执行如下操作:如何在python中将数组迭代保存到文件中?,python,file,numpy,Python,File,Numpy,我想在for循环中执行如下操作: for i in range(n): x = vector() np.savetxt('t.txt', x, newline=" ") 但是我想在我的文件中将每个数组x保存为一个新行,但是上面的代码不会发生这种情况,有人能帮忙吗?谢谢 我会选择(未经测试的!): 需要做出一些决定: 在每次迭代中打开/关闭文件与保持文件处理程序打开 使用np.array\u str/np.array\u repr/np.array2string 这当然是基于这样
for i in range(n):
x = vector()
np.savetxt('t.txt', x, newline=" ")
但是我想在我的文件中将每个数组x保存为一个新行,但是上面的代码不会发生这种情况,有人能帮忙吗?谢谢 我会选择(未经测试的!): 需要做出一些决定:
- 在每次迭代中打开/关闭文件与保持文件处理程序打开
- 使用np.array\u str/np.array\u repr/np.array2string
with open('t.txt', 'w') as f:
for i in range(n):
x = vector()
np.savetxt(f, x, newline=" ")
f.write('\n')
也就是说,将已打开的文件句柄传递给
numpy
的savetxt
函数。这样它就不会覆盖现有内容。另请参见关于newline=“\n”
,根据默认设置是什么?…但是上面的代码不会出现这种情况“代码有什么问题?发生了什么事?瑞尔考虑接受这个答案,如果它解决了你的问题。
with open('t.txt', 'w') as f:
for i in range(n):
x = vector()
np.savetxt(f, x, newline=" ")
f.write('\n')