Python3.4 pickle转储函数因TypeError而失败

时间:2016-05-14 02:06:59

标签: python

我有一个简单的脚本,可以导入一个初始化db字典的模块。然后该脚本应该打开一个文件并使用pickle.dump将db字典写入该文件。但是它失败并出现以下TypeError:

Traceback (most recent call last):
  File "make_db_pickle.py", line 6, in <module>
    pickle.dump(db, dbfile)
TypeError: must be str, not bytes

from initdata import db
import pickle
dbfile = open('people_pickle', 'w')
pickle.dump(db, dbfile)
dbfile.close()

type函数将我的变量dbfile和db显示为:

<class '_io.TextIOWrapper'>
<class 'dict'>

1 个答案:

答案 0 :(得分:4)

您需要以二进制模式打开,即wb

 open('people_pickle', 'wb')