Python 3.x 如何在蟒蛇3中制作莳萝装蟒蛇2泡菜
如果使用picklePython 3.x 如何在蟒蛇3中制作莳萝装蟒蛇2泡菜,python-3.x,encoding,io,pickle,dill,Python 3.x,Encoding,Io,Pickle,Dill,如果使用picklepickle进行pickle,则以下代码段有效。但是如果我使用dill转储对象,dill.load不起作用,因为dill.load不接受任何编码参数。有没有办法用莳萝来完成这项工作 with open(‘py2pickle.p’,'rb') as f data = pickle.load(f, encoding='latin1') 您在Python2中执行了dill.dump,并希望在Python3中执行dill.load。有两个问题: 不管你是什么,都不能保证 用
pickle
进行pickle,则以下代码段有效。但是如果我使用dill转储对象,dill.load
不起作用,因为dill.load
不接受任何编码
参数。有没有办法用莳萝来完成这项工作
with open(‘py2pickle.p’,'rb') as f
data = pickle.load(f, encoding='latin1')
您在Python2中执行了
dill.dump
,并希望在Python3中执行dill.load
。有两个问题:
dill
在load
上没有编码参数,因此您可能必须在dump
/load
对象之前/之后进行一些转换(直接在对象本身上)dump
和load
添加更多的序列化选项参数(包括encoding
参数)
更新:
dill
现在有一个编码参数以及其他参数来帮助pickle从2.x转换到3.x。没有。我在python2中做了dill.dump
,并想在python3中加载它。我不知道你是dill开发/维护人员。谢谢你的伟大工作!!我刚刚添加了encoding
参数和其他最近的Python3.x参数,用于从2.x读取pickle。