gpt4 book ai didi

python - 如何从python中的.tar存档中提取特定文件?

转载 作者:行者123 更新时间:2023-12-04 02:29:29 26 4
gpt4 key购买 nike

我在 Linux 机器上创建了一个 .tar 文件,如下所示:

tar cvf test.tar test_folder/
其中 test_folder 包含一些文件,如下所示:
test_folder 
|___ file1.jpg
|___ file2.jpg
|___ ...
我无法使用 Python 以编程方式提取 tar 存档中的各个文件。更具体地说,我尝试了以下方法:
import tarfile
with tarfile.open('test.tar', 'r:') as tar:
img_file = tar.extractfile('test_folder/file1.jpg')
# img_file contains the object: <ExFileObject name='test_folder/test.tar'>
在这里, img_file似乎不包含请求的图像,而是包含源 .tar文件。我不确定,我在哪里搞砸了。任何建议都会非常有帮助。提前致谢。

最佳答案

您可能想使用 .extract()方法而不是您的 .extractfile()方法(见我的 other answer):

import tarfile

with tarfile.open('test.tar', 'r:') as tar:
tar.extract('test_folder/file1.jpg') # .extract() instead of .extractfile()

笔记:
  • 您提取的文件将位于(可能是新创建的)文件夹中 test_folder在您当前的目录下。
  • .extract()方法返回 None ,因此无需分配( img_file = tar.extract(...) )
  • 关于python - 如何从python中的.tar存档中提取特定文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65244008/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com