首页 > 解决方案 > 如何在 python 中以 9 兆字节的块读取文件?

问题描述

在我压缩一个文件后:

fin = open("foo.mp4", "rb")
fout = gzip.open("data.tmp", "wb")
fout.write(fin.read())
fout.close()
fin.close()

我想以 9 兆字节的块将文件(文件可以有任何大小)加载到内存中。

每个块应该是 9mb,最后一个可能更小。我需要这个大小才能将数据上传到仅接受 <= 9mb 文件大小的 POST-Endpoint。

知道如何读取文件而不必进行子进程调用split吗?

标签: pythonfilesplitbyte

解决方案


您可以使用seek()将偏移量作为参数并移动到特定字节(字符)的方法:

offset = 9216  # 9MB
fin.seek(offset, 1)

所以你从 0 开始,在你读完之后你追加到偏移量9216或任何你想要的


推荐阅读