如果存在np.fromfile()的最大文件大小?我试图读取一个48GB的文件,约2.1e9的记录(每个记录有5个值)。np.fromfile文件大小的最大限制?
它工作时,我限制计数8e7:
fromfile(filename, dtp, int(8e7))
Out[69]:
array([(1, 244025.0, 1.1666666269302368, 360.1666564941406, 50.0),
(2, 244025.0, 1.1666666269302368, 360.5, 50.0),
(3, 244025.0, 1.1666666269302368, 360.8333435058594, 50.0), ...,
(255138, 244131.0, 1128.9346923828125, 461.38494873046875, 49.5),
(255139, 244131.0, 1143.77783203125, 473.2532958984375, 49.5),
(255140, 244131.0, 1150.4803466796875, 464.6799011230469, 49.5)],
dtype=[('ntrac', '<i4'), ('ints', '<f8'), ('x', '<f4'), ('y', '<f4'), ('z', '<f4')])
但是,当计数设为9e7所有值都将读为零:
In [70]: fromfile(filename, dtp, int(9e7))
Out[70]:
array([(0, 0.0, 0.0, 0.0, 0.0), (0, 0.0, 0.0, 0.0, 0.0),
(0, 0.0, 0.0, 0.0, 0.0), ..., (0, 0.0, 0.0, 0.0, 0.0),
(0, 0.0, 0.0, 0.0, 0.0), (0, 0.0, 0.0, 0.0, 0.0)],
dtype=[('ntrac', '<i4'), ('ints', '<f8'), ('x', '<f4'), ('y', '<f4'), ('z', '<f4')])
32位或64位Python? –
64位在Mac OS X上通过macports安装。 – brorfred
你可以用'sys.maxsize'检查它确实是64位吗? – seberg