【发布时间】:2025-12-13 12:35:02
【问题描述】:
我可以按照previous answers 使用gzip -t file.gz 和zcat file.gz > /dev/null 检查gzip 文件的完整性。
有时我的工作在一个大文件的压缩完成之前就死了。如果我从头到尾检查文件,我会收到关于文件意外结束的错误。但是是否可以只测试压缩文件没有意外结束,所以我不必通读整个文件?
根据以下 Mark Adler 的回答编辑 2018 年(Python 3.2+ 解决方案):
import os
import string
import gzip
with gzip.open('test.gz', 'wt') as f:
f.write(string.ascii_lowercase)
with open('test.gz', 'rb') as f:
f.seek(-4 , os.SEEK_END)
length = int.from_bytes(f.read(), byteorder='little')
assert length == 26
print('Thanks Mark Adler!')
print('The English alphabet has {length} letters.'.format(length=length))
【问题讨论】: