原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.fromfile.html
校对:(虚位以待)
numpy.
fromfile
(file, dtype=float, count=-1, sep='')从文本或二进制文件中的数据构造数组。
一种以已知数据类型读取二进制数据的高效方法,以及解析简单格式化的文本文件。使用tofile方法写入的数据可以使用此函数读取。
参数: | 文件:文件或str
dtype:数据类型
count:int
sep:str
|
---|
笔记
对于数据存储,不要依赖tofile和fromfile
的组合,因为生成的二进制文件不是平台独立的。特别地,不保存字节顺序或数据类型信息。数据可以使用save
和load
存储在独立于.npy
的平台中。
例子
构造一个ndarray:
>>> dt = np.dtype([('time', [('min', int), ('sec', int)]),
... ('temp', float)])
>>> x = np.zeros((1,), dtype=dt)
>>> x['time']['min'] = 10; x['temp'] = 98.25
>>> x
array([((10, 0), 98.25)],
dtype=[('time', [('min', '<i4'), ('sec', '<i4')]), ('temp', '<f8')])
将原始数据保存到磁盘:
>>> import os
>>> fname = os.tmpnam()
>>> x.tofile(fname)
从磁盘读取原始数据:
>>> np.fromfile(fname, dtype=dt)
array([((10, 0), 98.25)],
dtype=[('time', [('min', '<i4'), ('sec', '<i4')]), ('temp', '<f8')])
建议的存储和加载数据的方式:
>>> np.save(fname, x)
>>> np.load(fname + '.npy')
array([((10, 0), 98.25)],
dtype=[('time', [('min', '<i4'), ('sec', '<i4')]), ('temp', '<f8')])