【发布时间】:2018-11-30 09:32:19
【问题描述】:
我有一个二进制文件,它正在被传感器单元不断修改和扩展,文件中的数据以np.float32 格式存储。我需要通过读取文件的总长度来读取已经写入了多少这样的数据“块”。执行此操作的最佳方法是什么。我目前有以下代码,最初工作正常但速度变慢(如预期文件大小增加)。这是因为我每次都打开文件。
有没有办法使用os.path.getsize('file_path') 做到这一点?
with open(data_file, 'rb') as fid:
return(len(np.fromfile(fid, np.float32)))
【问题讨论】:
-
你能修改传感器/写作应用程序吗?如果您可以定期使用该 fsync() 并将缓冲的数据+文件大小报告给管道。读取管道将给出准确的尺寸。
-
传感器程序是第三方写的,无法修改。
-
您能否让传感器程序将其所有输出数据写入 STDOUT 而不是 OS 文件访问?
标签: python python-3.x file chunks