gzip意外结束文件

时间:2015-10-08 16:19:18

标签: python file io gzip

我可以根据previous answers检查gzip -t file.gzzcat 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))

0 个答案:

没有答案