我可以根据previous answers检查gzip -t file.gz
和zcat file.gz > /dev/null
的gzip文件的完整性。
有时我会在压缩大文件之前完成工作。如果我从头到尾检查文件,我将收到有关文件意外结束的错误。但是有可能只测试压缩文件没有意外结束,所以我不必读完整个文件吗?
编辑2018根据以下Mark Adler的回答(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))