Python 如何使用numpy.fromfile检测EOF
我试图用numpy.fromfile()读入一个非常大(几GB)的二进制文件。一次读取整个文件会产生内存不足错误,因此我想创建一个循环,一次读取和处理N个数据块。如下所示:Python 如何使用numpy.fromfile检测EOF,python,numpy,fromfile,Python,Numpy,Fromfile,我试图用numpy.fromfile()读入一个非常大(几GB)的二进制文件。一次读取整个文件会产生内存不足错误,因此我想创建一个循环,一次读取和处理N个数据块。如下所示: while True: numpy.fromfile(f, recordType, N) # proccess data if f.EOF(): break 如何检测何时到达文件的末尾,以便中断循环 为True时: while True: a = numpy.fromfile(f,
while True:
numpy.fromfile(f, recordType, N)
# proccess data
if f.EOF():
break
如何检测何时到达文件的末尾,以便中断循环 为True时:
while True:
a = numpy.fromfile(f, recordType, N)
# proccess data
if a.size < N:
break
a=numpy.fromfile(f,记录类型,N)
#过程数据
如果a.size
也许使用h5py库是一种选择:与其使用while循环,不如先循环文件的大小,然后循环需要循环的块数,也可以循环遍历文档,这种方法似乎不是很方便,也不能读取任何文件@MrE在这种情况下,这可能是有意义的,特别是因为任意的N甚至可能不会分割文件中的块数,但一般来说,如果您不使用read(),是否无法检测文件的结尾?我想您可能能够检测到您没有按要求读取那么多的对象,但该方法显然不返回对象的计数或任何内容。