Python 中有没有办法使用 gzip 或其他模块来检查 gzip 存档的完整性?
基本上,Python 中是否存在与以下内容等效的内容:
gunzip -t my_archive.gz
最佳答案
糟糕,第一个答案(现已删除)是误读问题的结果。
我建议使用 gzip
模块来读取文件并丢弃您读取的内容。无论如何,您都必须解码整个文件才能检查其完整性。 https://docs.python.org/2/library/gzip.html
类似于(未经测试的代码)
import gzip
chunksize=10000000 # 10 Mbytes
ok = True
with gzip.open('file.txt.gz', 'rb') as f:
try:
while f.read(chunksize) != b'':
pass
except:
ok = False
我不知道读取损坏的 zip 文件会引发什么异常,您可能想找出并仅捕获这个特定的异常。
关于Python 检查 gzip 存档的完整性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41998226/