我的问题是: 使用时:
import tarfile
tar = tarfile.open("sample.tar.gz")
tar.extractall()
tar.close()
如果压缩前的文件叫做“sampleFolder”,在我做完上述步骤之后,如何返回“sampleFolder”名称,更好地用它的完整路径,或者如何将结果设置为其他名称如“Folder”? / p>
这不是一个好问题,但我的项目实际上对此有所要求。
我必须编辑问题:如果我不知道“sampleFolder”,我可以在解压缩步骤后返回它吗
答案 0 :(得分:3)
默认情况下,它将被解压缩到工作目录:
import os
os.getcwd()
因此,提取数据的路径是:
from pathlib import Path
extracted_to_path = Path.cwd() / 'sampleFolder'
要在其他位置提取:
with tarfile.open('sample.tar.gz') as tar:
tar.extractall(path='/other/folder')
编辑:如果您只想知道档案中包含的名称"sampleFolder"
,则无需在某处提取。您应该使用getnames
:
tar.getnames()
请注意,tarball可以包含多个文件或文件夹。