使用Python获取tar文件缓冲区而不写入文件

问题描述 投票:0回答:1

我知道如何使用 Python 压缩文件

import os
import tarfile
with tarfile.open('res.tar.gz','w:xz' )as tar :
    tar.add('Pic.jpeg')

但我想在不创建任何 tar.gz 文件的情况下做到这一点,只获取结果缓冲区。

嗨,我可以这样做吗?

python python-3.x tar tarfile
1个回答
0
投票

您可以使用此代码访问结果缓冲区

from io import BytesIO
import os
import tarfile

buf = BytesIO()
with tarfile.open('/tmp/res.tar.gz', 'w:gz', fileobj=buf) as f:
    f.add("Pic.jpeg")
data = buf.getvalue()
© www.soinside.com 2019 - 2024. All rights reserved.