【发布时间】:2023-04-02 16:39:01
【问题描述】:
,我对这对用 Python 编码的行有疑问:
#File name spacchetta_N_zip.py
import tarfile
import gzip
with tarfile.TarFile.open(i, 'r:gz') as tarredgzippedFile:
tarredgzippedFile.extractall(cartella)
我确定我正在打开一个 .tar.gz 存档。
我真的不知道出了什么问题,我已经在网上冲浪了,这会奏效......但我收到了这个错误:
File "spacchetta_N_zip.py", line 70, in Spacchetta
with tarfile.TarFile.open(i, 'r:gz') as tarredgzippedFile:
File "/usr/lib/python2.7/tarfile.py", line 1678, in open
return func(name, filemode, fileobj, **kwargs)
File "/usr/lib/python2.7/tarfile.py", line 1729, in gzopen
raise ReadError("not a gzip file")
tarfile.ReadError: not a gzip file
请帮帮我
【问题讨论】:
-
我确定我正在打开一个 .tar.gz 存档。 - 我很确定你不是。如果打印
i
的值,它会说什么?如果你在命令行上执行file foo.tar.gz
,那说明了什么? -
print i 打印我 "namefile.tar.gz" 和 file namefile.tar.gz 打印我 "gzippedFile.tar.gz: POSIX tar 存档 (GNU)"
-
所以它不是一个
tar.gz
文件...否则它会打印gzippedFile.tar.gz: gzip compressed data
你的文件是一个tar 存档,而不是一个压缩的tar 存档。 -
提示:当您打开
tar.gz
进行阅读时,您不必指定'r:gz'
,因为r
是默认值,并且会自动检测压缩档案。 - 谢谢你们......我不知道我是如何创建那个 .tar.gz 的,但我重新创建了另一个,现在 它可以工作 很好......我不敢相信,因为旧文件在图标上得到了 .tar.gz 公司(我在 Ubuntu 上)。谢谢大家
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在 python 中打开 .tar.gz 档案 - Python技术站