作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我使用pickle在python 3上转储文件,我使用pickle在python 2上加载文件,出现ValueError。
那么,python 2 pickle 无法加载 python 3 pickle 转储的文件?
如果我想要?怎么办?
最佳答案
您应该在 Python 3 中使用较低的协议(protocol)编号编写 pickle 数据。Python 3 引入了编号为 3
的新协议(protocol)(并将其用作默认值),因此切换回值2
可以被 Python 2 读取。
检查pickle.dump
中的protocol
参数.您生成的代码将如下所示。
pickle.dump(your_object, your_file, protocol=2)
pickle.load
中没有protocol
参数因为 pickle
可以从文件中确定协议(protocol)。
关于python - ValueError: unsupported pickle protocol: 3、python2 pickle无法加载python 3 pickle转储的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25843698/
我正在为我的应用程序使用 Tank-Auth。我唯一的问题是激活和重置帐户密码。 用于登录、注册、注销;我对这些代码没有问题; $route['login'] = "/auth/login"; $ro
我是一名优秀的程序员,十分优秀!