Python 使用tarfile.extractall()的解包tar.gz文件夹的不同名称

Python 使用tarfile.extractall()的解包tar.gz文件夹的不同名称,python,tar,tarfile,Python,Tar,Tarfile,我正在使用pythonstarfile.extractall()解压foo.tar.gz文件。我想访问提取的文件夹,但有时提取的文件夹与打包文件的名称不同。我需要一种方法来控制提取文件夹的名称,或者一个返回值来告诉我提取文件夹的名称 示例 打包文件:foo-rc-2.0.0.tar.gz 解包文件夹:foo-2.0.0-rc 您可以使用.getnames()列出tarfile obj的内容。tarfile.extractall()只需将tarball中的所有文件提取到当前目录或您选择的目录 如果

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

示例

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

解包文件夹:
foo-2.0.0-rc


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

tarfile.extractall()
只需将tarball中的所有文件提取到当前目录或您选择的目录

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

如果需要移动这些提取的内容,请在一个新的空目录中移动,这样您就可以拾取该目录中的所有内容:

os.mkdir('extraction')
tarball.extractall('extraction')
for name in os.listdir('extraction'):
     # move that name.