类型错误:'str'不支持缓冲区接口 - Python

6
我目前正在做一个在线Python谜题系列,遇到了需要卸载一个pickled文件的问题。我阅读了相关文档,但一直收到“TypeError:'str'不支持缓冲区接口”的错误信息。
所以我在Google上搜索并找到了一个类似问题的SO问答。答案指向http://wiki.python.org/moin/UsingPickle
我尝试了示例中的代码,但仍然遇到相同的问题?我正在使用Python 3.2.2。这是怎么回事??
完整的Traceback如下:
Traceback (most recent call last):
  File "C:\foo.py", line 11, in <module>
    test1()
  File "C:\foo.py", line 9, in test1
    favorite_color = pickle.load( open( "save.p" ) )
TypeError: 'str' does not support the buffer interface

这里有一个例子:http://wiki.python.org/moin/UsingPickle

我已经成功地使用该教程中的第一个代码示例创建了save.p文件。


1
可能是Python 2与Python 3的差异。你能发完整的回溯吗? - Winston Ewert
1
我只是随便点了一下谷歌上的第一个链接。我并不知道我不仅在阅读Python 2的内容,而且Python 2和3之间有很大的区别... 不管怎样,我应该去哪里找到Python 3的相关资料呢? - mowwwalker
此外,那不是我的之前提出的问题。 - mowwwalker
抱歉...链接错误。在我的回答中,我链接了“Dive into Python 3”。那值得一读。大部分信息仍然是关于Python 2的。 - johnsyweb
1个回答

14

以二进制模式打开pickle文件:favorite_color = pickle.load(open("save.p", "rb"))


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接