Python dict序列化:从“相同” dict获得不同的结果

时间:2018-08-03 10:13:27

标签: python-3.x serialization

d1等于d2,但是b1与b2不同。 有谁可以解释吗?非常感谢!

    import pickle
    b1 = b'\x80\x03}q\x00(X\x07\x00\x00\x00clusterq\x01X\x03\x00\x00\x00ALLq\x02X\x04\x00\x00\x00unitq\x03X\x03\x00\x00\x00ALLq\x04u.'
    b2 = b'\x80\x03}q\x00(X\x07\x00\x00\x00clusterq\x01X\x03\x00\x00\x00ALLq\x02X\x04\x00\x00\x00unitq\x03h\x02u.'

    d1 = pickle.loads(b1)
    d2 = pickle.loads(b2)
    print(d1)  
    # {'cluster': 'ALL', 'unit': 'ALL'}
    print(d2)
    # {'cluster': 'ALL', 'unit': 'ALL'}
    print(d1 == d2)
    # True
    pickle.dumps(d1)
    # b'\x80\x03}q\x00(X\x07\x00\x00\x00clusterq\x01X\x03\x00\x00\x00ALLq\x02X\x04\x00\x00\x00unitq\x03X\x03\x00\x00\x00ALLq\x04u.'
    pickle.dumps(d2)
    # b'\x80\x03}q\x00(X\x07\x00\x00\x00clusterq\x01X\x03\x00\x00\x00ALLq\x02X\x04\x00\x00\x00unitq\x03h\x02u.'

0 个答案:

没有答案