为什么我总是一直得到这个cPickle错误?

时间:2016-03-21 15:34:53

标签: python pickle

我正在尝试将字典存储到文件中。

这是我的代码的一部分:

Accounts={}
if username not in Accounts:
    Accounts[username]=password
    database=open("my_mail_database", "w")
     pickle.dump(Accounts, database)
     database.close()

我总是得到这个错误:

Traceback (most recent call last):
File "C:\Python34\lib\tkinter\__init__.py", line 1538, in __call__
return self.func(*args)
File "C:\Python34\python 3.4\my_gmail2.pyw", line 51, in submit_account
pickle.dump(Accounts, database)
TypeError: must be str, not bytes

有人可以告诉我我的代码有什么问题吗?

1 个答案:

答案 0 :(得分:1)

试试:

Accounts={}
if username not in Accounts:
    Accounts[username]=password
    database=open("my_mail_database", "wb")
    pickle.dump(Accounts, database)
    database.close()

您必须使用wb

打开文件