1

我正在使用tarfile.extractall()python 解压 foo.tar.gz 文件。我想访问提取的文件夹,但有时提取的文件夹与打包文件的名称不同。我需要一种方法来控制提取文件夹的名称,或者需要一个返回值来告诉我提取文件夹的名称。

例子

打包文件:foo-rc-2.0.0.tar.gz

解压文件夹:foo-2.0.0-rc

4

2 回答 2

1

tarfile.extractall()只需将 tarball 中的所有文件解压缩到当前目录或您选择的目录即可。

如果 tarball 包含具有嵌套目录结构的文件,那么这就是将被提取的内容。这是您看到的目录结构。这些目录的名称(可以有多个)不必与 tarball 的名称相对应。

如果您需要移动这些提取的内容,请在一个新的空目录中执行此操作,这样您就可以拿起该目录中的所有内容

os.mkdir('extraction')
tarball.extractall('extraction')
for name in os.listdir('extraction'):
     # move that name.
于 2015-10-05T15:38:38.247 回答
0

您可以使用.getnames()列出 tarfile obj 的内容。

于 2015-10-05T15:30:19.917 回答