python 3和python 2 hash()函数给出不同的结果

时间:2018-05-22 14:58:15

标签: python

我知道我们不应该依赖hash()的返回值在不同版本之间保持一致。但我有这个遗留代码需要从python 2.7迁移到python 3.6。其中一个关键部分是我需要保持hash()结果相同。

有没有办法实现这个目标?

我试图将PYTHONHASHSEED设置为0,但它没有帮助。

$ PYTHONHASHSEED=0 python3
Python 3.6.3 (default, Oct  8 2017, 23:14:45)
>>> hash('abc')
4596069200710135518

$ python2
Python 2.7.14 (default, Mar 30 2018, 12:43:21)
>>> hash('abc')
1453079729188098211

0 个答案:

没有答案