numpy.savetxt()似乎总是在文件末尾添加一个新行。有没有一种避免这种行为的好方法?将新行字符替换为其他字符无济于事。
我认为这不是我的代码特有的,但写作正在这样做(模型是一个3D数组):
np.savetxt(modelFile, model, delimiter=",", fmt='%.3f')
我不太确定它为什么重要,或者是否有办法在numpy端防止它(我在文档中没有看到任何内容......)但是你可以在写完之后再找回文件然后截短。例如
NEWLINE_SIZE_IN_BYTES = -1 # -2 on Windows?
with open('data.dat', 'w') as fout:
np.savetxt(fout, model, delimiter=",", fmt='%.3f')
fout.seek(NEWLINE_SIZE_IN_BYTES, 2)
fout.truncate()
注意:要向后搜索,字节大小必须为负数