对于用python编写的构建脚本,我需要提取.tar.gz
存档(this is Lua's source)的内容。
在tarfile
documentation中,可以用这种方式提取tarfile
,我用要提取的档案文件替换了它们的示例文件:
an archive with such an extension
尽管如此,Python返回一个异常:
import tarfile
tar = tarfile.open("lua-5.3.5.tar.gz")
tar.extractall()
tar.close()
当然,我在与存档相同的文件夹中运行此脚本,但是它无法提取内容。
我们如何解决这个问题?
事实证明,在重新安装Python环境之后(没有冒险,没有任何收获),它可以正常工作。不知道是什么原因导致了错误,很可能是文件损坏,这让我有些沮丧,但是我经常更新我的软件包,这很奇怪。
Traceback (most recent call last):
File "test.py", line 2, in <module>
tar = tarfile.open("lua-5.3.5.tar.gz")
File "C:\Python37\lib\tarfile.py", line 1578, in open
raise ReadError("file could not be opened successfully")
tarfile.ReadError: file could not be opened successfully
该文件实际上是import tarfile
tar = tarfile.open("lua-5.3.5.tar.gz", "w|gz")
tar.extractall()
tar.close()
文件,因此您必须执行以下操作:
tar.gz