gpt4 book ai didi

Python:从 tarball 中解压单个文件夹

转载 作者:行者123 更新时间:2023-11-30 23:29:51 26 4
gpt4 key购买 nike

给定包含多个目录的 tarball,如何提取单个特定目录?

import tarfile  
tar = tarfile.open("/path/to/tarfile.tar.gz")
tar.list()

... rootdir/subdir_1/file_1.ext
... rootdir/subdir_1/file_n.ext
... rootdir/subdir_2/file_1.ext
等等

如何从 subdir_2 中提取文件?

注意:整个操作是在内存中完成的...

import tarfile, urllib2, StringIO  
data = urllib2.urlopen(url)
tar = tarfile.open(mode = 'r|*', fileobj = StringIO.StringIO(data.read()))

...因此将所有内容提取到磁盘并移动必要的文件夹是不可行的。

最佳答案

你似乎已经快到了 - 我认为你可以使用 getnames() 的内容并将其与 extractfile() 结合起来处理内存中的文件,例如:

import re
files = (file for file in tar.getnames() if file.startswith('rootdir/'))

关于Python:从 tarball 中解压单个文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20938752/

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