我正在用python编写一个程序并tarfile
用来提取tarfile。其中一些 tar 文件包含以 a 开头的文件夹/
(或者对于 windows \
),这会导致问题(文件被提取到错误的位置)。我怎样才能解决这个问题并确保提取最终在正确的位置?
问问题
156 次
2 回答
2
文档tarfile
明确警告这种情况。相反,您需要单独遍历 tar 文件和extract
每个文件的内容:
import os
import tarfile
extract_to = "."
tfile = tarfile.open('so.tar')
members = tfile.getmembers()
for m in members:
if m.name[0] == os.sep:
m.name = m.name[1:]
tfile.extract(m, path=extract_to)
于 2012-10-12T11:52:55.593 回答
0
您是否尝试过 extractall() 方法?我记得这个方法参数之一包含应该提取档案的信息。
于 2012-10-12T11:41:29.753 回答