gpt4 book ai didi

python - 将文件添加到 tar 存档而不先保存

转载 作者:太空狗 更新时间:2023-10-30 00:54:29 25 4
gpt4 key购买 nike

是否可以直接在 tar 存档中创建文件?
上下文:我有一个方法可以创建某种类型的内容作为字符串。我想将此内容保存为 tar 存档中的文件。我必须创建一个 tmp 文件还是可以直接在 tar 存档中创建一个文件。

def save_files_to_tar(tarname):
archive = tarfile.open(tarname, mode='w')
for _ in range(some_number):
content = get_content()
# HERE add content to tar

最佳答案

我认为你应该使用 StringIO 来创建一个类似于内存对象的文件,并使用 tarInfo 来描述一个假文件,如下所示:

import StringIO
import tarfile

archive = tarfile.open(tarname, mode='w')
for _ in range(some_number):
content = get_content()
s = StringIO.StringIO()
s.write(content)
s.seek(0)
tarinfo = tarfile.TarInfo(name="my filename")
tarinfo.size = len(s.buf)
archive.addfile(tarinfo=tarinfo, fileobj=s)

archive.close()

希望这对您有所帮助。

关于python - 将文件添加到 tar 存档而不先保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37567680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com