python的pickle文件是否跨平台?

2024-04-20 01:49:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经创建了一个小的python脚本。我在Linux上保存了pickle文件,然后在windows上使用了它,然后又在Linux上使用了它,但现在该文件在Linux上无法工作,但在windows上工作得非常好。 因此python是coss平台,而pickle文件不是。 这个问题有什么解决办法吗


Tags: 文件脚本linuxwindows平台pickle解决办法coss
3条回答

pickle模块supports several different data formats。如果指定特定的pickle格式而不是使用默认值(0),则可能会遇到跨平台二进制文件问题。通过指定协议0,可以使用普通ASCII pickle文件

Python的pickle是完全跨平台的

这可能是由于Windows和Linux之间的EOL(终端)差异造成的。确保在写入和读取pickle文件时,分别使用open()的“wb”和“rb”模式,以二进制模式打开pickle文件

注意:在不同版本的Python之间传递pickle可能会带来麻烦,因此请尝试在两个平台上使用相同的版本

也许你没有以二进制模式打开文件?见this stackoverflow question

相关问题 更多 >