我使用loadtxt初始化数组。
source = np.loadtxt('source.txt').astype(int)
之后,我在函数中使用此数组,其主体为:
file = open('johnson.txt', 'ab')
first = increase(np.argsort(source[0]))
np.savetxt(file, first, delimiter='-', fmt='%i')
file.close()
因此,在txt文件中,我应该有这个:
7-1-3-6-2-4-8-5
但是我有这个:
7
1
3
6
2
4
8
5
我必须以二进制模式打开文件,因为我需要向文件追加另一行。那么,我该如何解决? 谢谢!
答案 0 :(得分:0)
savetxt
迭代输入数组,并将每个“行”写入新行。对于典型的2d数组,将是一行。但是对于一维数组,它将是一个元素。
因此将您的写入更改为保存2d数组:
np.savetxt('test.txt', [first], delimiter=..., fmt=...)
假设first
是一个1d数组,那么np.array([first])
是1行2d,first[None,:]
也将起作用(或reshape
)。
要附加行,请以“ a”附加模式打开文件。 “ wb”二进制文件无济于事。