我有一个简单的脚本,可以导入一个初始化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'>
答案 0 :(得分:4)
您需要以二进制模式打开,即wb
:
open('people_pickle', 'wb')