8.3.3 混合内容流
在压缩和未压缩数据混合在一起的情况下,还可以使用BZ2Decompressor。
import bz2
lorem = open('lorem.txt','rt').read().encode('utf-8')
compressed = bz2.compress(lorem)
combined = compressed + lorem
decompressor = bz2.BZ2Decompressor()
decompressed = decompressor.decompress(combined)
decompressed_matches = decompressed == lorem
print('Decompressed matches lorem:',decompressed_matches)
unused_matches = decompressor.unused_data == lorem
print('Unused data matches lorem:',unused_matches)
解压缩所有数据之后,unused_data属性会包含所有未用的数据。
运行结果:
Decompressed matches lorem: True
Unused data matches lorem: True