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

如何用Python获取tar文件缓冲区而不写入本地文件?

获取tar打包后的内存缓冲区实现方法

你可以通过使用Python的io.BytesIO作为内存中的文件对象,替代实际的文件路径传递给tarfile.open(),这样就能直接在内存中生成tar包内容,而无需创建物理文件。

具体实现代码如下:

import io
import tarfile

# 初始化一个BytesIO对象作为内存缓冲区
tar_buffer = io.BytesIO()

# 以缓冲区为目标创建tar包(保持原有的xz压缩格式)
with tarfile.open(fileobj=tar_buffer, mode='w:xz') as tar:
    tar.add('Pic.jpeg')

# 获取打包后的二进制数据
compressed_data = tar_buffer.getvalue()

# 后续可将compressed_data用于网络传输、内存存储等场景

关键说明:

  • io.BytesIO是一个内存中的二进制流对象,模拟了文件的读写接口,适合用来临时存储数据。
  • 调用tar_buffer.getvalue()可以直接获取缓冲区中的所有二进制内容,无需调整指针位置;如果之后需要再次读取缓冲区,可调用tar_buffer.seek(0)将指针重置到起始位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 03:05:12