为什么这些行不会给我相同的结果?
>>> gzip.compress('same'.encode('ascii'))
b'\x1f\x8b\x08\x00\xe2\x0e0V\x02\xff+N\xccM\x05\x00D\xf1P\xfc\x04\x00\x00\x00'
>>> gzip.compress('same'.encode('ascii'))
b'\x1f\x8b\x08\x00\xe3\x0e0V\x02\xff+N\xccM\x05\x00D\xf1P\xfc\x04\x00\x00\x00'
这对于单元测试来说非常烦人。
最佳答案
gzip header 包含修改时间戳。 请参阅here
对于单元测试,您也许可以跳过标题并比较其余部分。
类似这样的事情:
a = gzip.compress('same'.encode('ascii'))
b = gzip.compress('same'.encode('ascii'))
a[5:] == b[5:]
不确定其中的值 5,但这似乎是它正在使用的 header 大小。
关于python-3.x - 为什么gzip不一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33380624/