tarfile.open() 没有提取到正确的目录路径

tarfile.open() does not extract into the right directory path

我正在尝试将 tar.gz 文件中的所有内容提取到同一目录中。以下代码可以提取所有文件,但文件存储在工作目录中,而不是我作为名称输入的路径。

import tarfile
zip_rw_data = r"P:\Lehmann\Test_Python_Project\RW_data.tar.gz"
tar = tarfile.open(name=zip_rw_data, mode='r')
tar.extractall()
tar.close()

如何确保提取的文件保存在我需要它们的目录路径中?我已经尝试了很长时间,我真的不明白为什么这不起作用。

你应该使用:

import tarfile
zip_rw_data = r"P:\Lehmann\Test_Python_Project\RW_data.tar.gz"
tar = tarfile.open(name=zip_rw_data, mode='r')
tar.extractall(path=r"P:\Lehmann\Test_Python_Project")
tar.close()

您可以尝试使用 shutil.unpack_archive

def extract_all(archives, extract_path):
    for filename in archives:
        shutil.unpack_archive(filename, extract_path)