我读过“如何像计算机科学家一样思考。用Python学习。”书。所以我通常没有困难解释从python2到python3的例子,但在第11章文件&我遇到此代码段的例外
>>> import pickle
>>> f = open("test.pck", "w")
>>> pickle.dump(12.3, f)
>>> pickle.dump([1,2,3], f)
>>> f.close()
当我使用Python 3.5.2评估它时会出现此错误
Traceback (most recent call last): File "/(myDirs)/files.py", line 3, in <module>
pickle.dump(3.14, f)
TypeError: write() argument must be str, not bytes
我不是一个好的文档读者,所以如果你能帮助我解决这个谜题,我将不胜感激。
答案 0 :(得分:1)
您需要以二进制模式打开文件。
第2行:
f = open("test.pck", "wb")