You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3中无需显式读取即可将二进制流缓冲区写入文件的方法

实现二进制流缓冲区写入文件的方案

推荐方案:使用Python标准库shutil.copyfileobj

该方案无需依赖第三方包,是Python原生提供的类文件对象拷贝工具,全程不需要显式调用read()方法读取缓冲区内容。

示例代码

import io
import shutil

read_buffer = io.BytesIO(b'buffer bytes content')
# 如果缓冲区指针不在起始位置,需要先重置指针
read_buffer.seek(0)

with open('target_file', 'wb') as file:
    shutil.copyfileobj(read_buffer, file)

说明

  • shutil.copyfileobj会自动处理流的读取、写入逻辑,原生支持io.BufferedReader、io.BytesIO等所有符合Python类文件对象协议的输入流,完全适配需求。
  • 可通过第三个参数指定单次拷贝的缓冲区大小,例如shutil.copyfileobj(read_buffer, file, length=1024*1024)即设置每次读写1MB数据,适合处理大容量流,避免内存占用过高。

内容的提问来源于stack exchange,提问作者Eido95

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 13:06:04