np.loadtxt与np.fromfile

时间:2018-09-26 10:29:11

标签: python numpy

所有问题均在以下示例中。

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相同的结果?

感谢您的帮助。

1 个答案:

答案 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(''),因此它不适合加载文本文件。