如何在python中跨机器检查对象的一致性例如,使用CRC?

问题描述

我正在构建一个小型的python库,该库可以在多台机器上工作,并且可能具有不同的操作系统。

基本上我有一个可腌制的对象。

此对象经过用户定义的压缩操作,然后通过用户定义的过程进行腌制,通过Internet发送,未腌制和未压缩。

要做的是检查该对象在此过程中没有损坏。

因此,我尝试对zlib.crc32()使用CRC检查,但是显然我没有正确使用它,并且出现了怪异的行为。我要做的是这样的:

# on machine 1:
my_crc1 = zlib.crc32(pickle.dumps(my_object))

# many operations of compression,transfer over the Internet etc,my_crc1 is transfered too

# on machine 2:
my_object = complicated_procedure()
my_crc2 = zlib.crc32(pickle.dumps(my_object))

assert my_crc1 == my_crc2

但是,这似乎由于泡菜而失败。我的导演告诉我,我不能这样做,因为泡菜并不能保证对象表示形式是相同的。

所以我的问题是,请问有什么方法可以做我想在python中做的事情?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...