如何使用numpy.fromfile检测EOF

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

while True:
   numpy.fromfile(f, recordType, N)
   # proccess data 
   if f.EOF():
        break

如何检测到文件末尾的时间,以便我可以打破循环?

最佳答案

while True:
   a = numpy.fromfile(f, recordType, N)
   # proccess data 
   if a.size < N:
        break
点赞