我试图在多处理类Value中存储一个bytes对象,但我发现实际存储的值和我想要存储的值是不同的。例如,以下代码的计算结果为False。
import ctypes
import dill
import multiprocessing as mp
x = [{str(i):i} for i in range(10)]
y = dill.dumps(x)
serialized_workbook = mp.Value(ctypes.c_char_p, dill.dumps(None))
serialized_workbook.value = y
serialized_workbook.value == y
为什么会发生这种情况,如何防止它发生?我想这样做的原因是我以后可以再加载它。
dill.loads(serialized_workbook.value)
上述代码失败,而下面的代码没有。
dill.loads(y)