python - 使用 tarfile.extractall() 解压的 tar.gz 文件夹的不同名称

标签 python tar tarfile

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

示例

packed file: foo-rc-2.0.0.tar.gz

unpacked folder: foo-2.0.0-rc

最佳答案

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

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

如果您需要移动这些提取的内容,请在新的空目录中执行此操作,以便您可以拾取该目录中的所有内容:

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

关于python - 使用 tarfile.extractall() 解压的 tar.gz 文件夹的不同名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32952260/

相关文章:

python - 有没有办法用 POSIX_FADV_DONTNEED 标志打开 hdf5 文件?

python - 需要帮助使用 python 读取 tar 文件中的图像文件

Python:使用 tarfile 从 TAR 存档中删除文件

python - tarfile.open() 未提取到正确的目录路径

python - 如何将 SHAP 本地解释导出到数据框?

python - 通过解释器查看所有 python 运算符的列表

mpi 中的 Python 多处理

compression - 压缩包含许多重复文件的文件夹

python - 使用 'tarfile' 时跳过损坏的文件 (.tar.gz)

linux - 使用标准输出/标准输入将 tar 转换为 zip