【发布时间】:2016-06-01 11:43:35
【问题描述】:
是否可以直接在 tar 存档中创建文件?
上下文:我有一种方法可以将某种内容创建为字符串。我想将此内容保存为 tar 存档中的文件。我必须创建一个 tmpfile 还是有可能直接在 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
【问题讨论】:
-
因为我不需要 tar.gz 文件,所以这篇文章不适用
-
我不认为这是重复的,因为重点是避免创建文件只是为了“移动”到 tar 存档中。我在“思考”中第二个@pacholik 这在
import tarfile之后显然不可能,因为(从文档中引用)“tar 存档是一系列块。存档成员(存储文件)由后面的标题块组成通过数据块。”还略读 API 显示没有任何地方,模块接受某种内存块 / 变量以将其作为成员直接放入存档中。但正如@Ronan 建议的那样,您可以通过 StingIO(甚至 cStringIO?)创建一个类似对象的文件。
标签: python python-3.x tar