使用Python在字符串中创建tar文件

3 投票
1 回答
3142 浏览
提问于 2025-04-16 03:28

我需要生成一个tar文件,但想把它放在内存中,而不是作为一个实际的文件。我的输入是一份文件名和一段包含相关内容的字符串。我希望能找到一个Python库来实现这个功能,而不想自己从头开始写。


经过一些研究,我找到了这些函数,不过使用内存流对象感觉有点……不太优雅。而且让它接受字符串作为输入似乎更不优雅。不过,它确实能工作。我想,这对我来说大部分都是新的。有人发现其中有什么问题吗?

1 个回答

15

使用 tarfilecStringIO 一起使用:

c = cStringIO.StringIO()
t = tarfile.open(mode='w', fileobj=c)
# here: do your work on t, then...:
s = c.getvalue()   # extract the bytestring you need

撰写回答