python - 如何在 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吗?
解决方案
您可以使用seek()
将偏移量作为参数并移动到特定字节(字符)的方法:
offset = 9216 # 9MB
fin.seek(offset, 1)
所以你从 0 开始,在你读完之后你追加到偏移量9216
或任何你想要的
推荐阅读
- symfony - 试图在 Symfony 内核中加载类
- jsf - Primefaces dataTable过滤与datePicker范围
- c# - 如何在 .Net 的 azure 库中使用 RunShellScript 执行 bash 文件
- sql - SQL - 从查找表加入 - 将输出文件汇总到单行与多行
- r - 从 gtsummary 包中的 tbl_summary 对象获取 LaTex 输出的最佳方法
- html - 为什么我的“h2”元素与“section”和“.frame”元素重叠?
- xml - XSLT 检查整个 XML 中的重复值
- matplotlib - “scipy.sparse.csr.csr_matrix”的散点图
- html - 以html形式保存元素
- ionic-framework - 如何注册本地离子电容器插件