Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用numpy.fromfile检测EOF_Python_Numpy_Fromfile - Fatal编程技术网

Python 如何使用numpy.fromfile检测EOF

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,

我试图用numpy.fromfile()读入一个非常大(几GB)的二进制文件。一次读取整个文件会产生内存不足错误,因此我想创建一个循环,一次读取和处理N个数据块。如下所示:

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(),是否无法检测文件的结尾?我想您可能能够检测到您没有按要求读取那么多的对象,但该方法显然不返回对象的计数或任何内容。