所有问题均在以下示例中。
import numpy as np
x=np.arange(5).astype('float')
with open('test.txt', 'w') as flx :
np.savetxt(flx,x)
with open('test.txt', 'r') as flx :
x=np.loadtxt(flx)
print(x)
with open('test.txt', 'r') as flx :
x=np.fromfile(flx)
print(x)
当我使用np.loadtxt
时,一切都很好,但是当我使用np.fromfile
方法时,结果不是等待中的结果(而且距离很远)。
[0. 1. 2. 3. 4.]
[1.39804329e-076 1.39804329e-076 1.39642638e-076 1.39804328e-076
1.39804329e-076 1.21089429e-099 1.39737102e-076 1.39804329e-076
1.39804329e-076 3.82834791e-086 1.39804329e-076 1.39804329e-076
2.96620794e-260 1.39804329e-076 1.39804329e-076 1.39642638e-076]
第一个问题:为什么?
第二个问题:如何通过使用np.loadtxt
获得与np.fromfile
相同的结果?
感谢您的帮助。
答案 0 :(得分:1)
非常感谢。
with open('test.txt', 'r') as flx :
x=np.fromfile(flx)
print(x)
不起作用,但是
with open('test.txt', 'r') as flx :
x=np.fromfile(flx, sep=' ')
print(x)
有效!实际上,默认分隔符为void(''
),因此它不适合加载文本文件。