【问题标题】:recover files from .gzip with Python使用 Python 从 .gzip 恢复文件
【发布时间】: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我要写的

标签: python gzip unzip


【解决方案1】:

也许我的回答很愚蠢,但你真的需要用 Python 做这个吗?也许你可以转向通常的 *nix shell 工具:

tar -xvf *.gz

我想这不仅比 Python 程序更容易,而且比 Python 程序更快。你甚至可以从 Python 调用这个 shell 命令。

【讨论】:

  • 我的范围是通过python模块实现目标
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多