我希望将数字从11增加到15,增量为1,我有以下代码:
import numpy as np
for b in range(11,15,1):
np.savetxt('tmp.txt',np.c_[b],fmt='%1.3f')
但是我只能保存一个14号码。请帮帮我。
答案 0 :(得分:0)
您正在更换文件' tmp.txt'在循环的每次迭代中。 相反,您可以在追加模式下打开文件,然后使用相同的函数写入它:
import numpy as np
f=open('tmp.txt','ab')
for b in range(11,15,1):
np.savetxt(f,np.c_[b],fmt='%1.3f')
f.close()
答案 1 :(得分:0)
我假设您希望每行有一个数字。这可行:
import numpy as np
np.savetxt('tmp.txt', np.arange(11,16,1), fmt='%1.3f')
@Ni是对的,你的解决方案不起作用,因为"你正在替换文件' tmp.txt'在循环的每次迭代中#34;。
Numpy的savetxt方法接受一个数组并将其保存到文件中。每个元素在一个单独的行上(默认情况下)。无需迭代。请参阅the docs。
关于范围方法。 Numpy的arange方法在您的情况下在半开区间[11,15]内生成值。这应该解释为什么你需要插入16而不是15.再看看the docs。