【发布时间】:2013-12-07 17:35:00
【问题描述】:
我有一些 .gzip 档案,我想从中提取所有文件。 但是 gzip 模块不允许我获取 .gzip 存档中每个文件的名称,并且我想用旧名称恢复每个文件,我不想重新分配新名称.
zipFile 没有这个问题,tarfile 也一样:tarfile 还有一对适用于 .tar.gz 的方法,但不仅仅适用于 .gz 档案。
我有点困惑,第一次做档案,你能帮我吗?
我确信这是可能的,因为如果我可以通过 gui 来实现,那么肯定有一个库和方法/函数,但它可能是 C 而不是 Python?
编辑:
...
elif tarfile.is_tarfile(i) and i.endswith('.tar.gz'):
...
with tarfile.TarFile.gzopen(i, 'r') as tarredgzippedFile:
那么,在with 语句中,我将使用来自 gzip 模块的代码,真的吗?
【问题讨论】:
-
“.gz 档案”是什么意思?你的意思是 .tar.gz 档案? gzip (.gz) 格式不是存档格式。它只存储一个压缩流。它不存储多个文件。 .tar 格式确实存储多个文件,其中 .tar.gz 是使用 gzip 压缩的 tar 存档。
-
是的,你是对的;我犯了一个大错误,.gzip 不是档案,所以这让我明白了整个事情! 最后一个问题:检查2EDIT我要写的