在Python3中取消勾选Python2对象会引发ValueError

在Python3中取消勾选Python2对象会引发ValueError,python,pickle,Python,Pickle,在python 2.7.6中: # the data i'm trying to pickle >>> x[0:5] [494.12804680901604, 641.9374923706055, 778.293918918919, 470.2265625, 237.21332017010934] >>> y[0:5] [236.99996948242188, 381.6793310733242, 685.0, 409.0909090909091, 658.0

在python 2.7.6中:

# the data i'm trying to pickle
>>> x[0:5]
[494.12804680901604, 641.9374923706055, 778.293918918919, 470.2265625, 237.21332017010934]
>>> y[0:5]
[236.99996948242188, 381.6793310733242, 685.0, 409.0909090909091, 658.0]
>>> z[0:5]
[23, 20, 98, 24, 78]
>>> holder = [x,y,z]
我是如何腌制的:

with open('holderData.obj','wb') as f:
    pickle.dump(holder,f)
f.close()
在python 3.6.2中

with open('holderData.obj','rb') as f:
     d = pickle.load(f, encoding='bytes') 
然而,这返回:

Traceback (most recent call last):
File "<stdin>", line 2, in <module>
ValueError: could not convert string to float

请参阅的“到另一个问题的数据流格式(协议)”部分。能否显示pickle本身(即,
print(repr(pickle.dumps(holder))的结果)
?以及
x
y
z
的Python类型是什么?(它们看起来像列表,但不是100%清楚。)@MarkDickinson添加了pickle本身。
x
y
z
都是列表,每个列表的长度都略低于3000。@martineau将其设置为最高优先级就成功了。事实上我根本无法复制它。你确定索引4之后的列表中没有任何奇怪的内容吗?请参阅数据流格式(协议)第节是另一个问题。能否显示pickle本身(即,
print(repr(pickle.dumps(holder))的结果)
?以及
x
y
z
的Python类型是什么?(它们看起来像列表,但不是100%清楚。)@MarkDickinson添加了pickle本身。
x
y
z
都是列表,每个长度都略低于3000。@martineau将其设置为最高优先级完成了此操作。实际上我根本无法复制此操作。你确定索引4之后的列表中没有任何奇怪的内容吗?
'(lp0\n(lp1\nF494.12804680901604\naF641.9374923706055\naF778.293918918919\naF470.2265625\naF237.21332017010934\naF372.76081123737373\naF396.15337968952133\naF615.2265625\naF470.2265625\naF581.2155330882352\naF488.40675200803213\naF475.47189597315435\naF92.0511279585