本文介绍了使用 pickle.dump - TypeError: must be str, not bytes的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用的是 python3.3,在尝试腌制一个简单的字典时遇到了一个神秘的错误.
I'm using python3.3 and I'm having a cryptic error when trying to pickle a simple dictionary.
代码如下:
import os import pickle from pickle import * os.chdir('c:/Python26/progfiles/') def storvars(vdict): f = open('varstor.txt','w') pickle.dump(vdict,f,) f.close() return mydict = {'name':'john','gender':'male','age':'45'} storvars(mydict)我得到:
Traceback (most recent call last): File "C:/Python26/test18.py", line 31, in <module> storvars(mydict) File "C:/Python26/test18.py", line 14, in storvars pickle.dump(vdict,f,) TypeError: must be str, not bytes 推荐答案输出文件需要以二进制方式打开:
The output file needs to be opened in binary mode:
f = open('varstor.txt','w')需要:
f = open('varstor.txt','wb')更多推荐
使用 pickle.dump
发布评论