Python: сохранение объектов и использование pickle. Ошибка при использовании pickle.dump - PullRequest
0 голосов
/ 25 декабря 2010

Здравствуйте, у меня ошибка, и у меня нет причины:

>>> class Fruits:pass
...
>>> banana = Fruits()
>>> banana.color = 'yellow'
>>> banana.value = 30
>>> import pickle
>>> filehandler = open("Fruits.obj",'w')
>>> pickle.dump(banana,filehandler)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python31\lib\pickle.py", line 1354, in dump
Pickler(file, protocol, fix_imports=fix_imports).dump(obj)
TypeError: must be str, not bytes
>>>

Я не знаю, как решить эту ошибку, потому что я не понимаю ее. Большое вам спасибо.

1 Ответ

1 голос
/ 25 декабря 2010

Вы должны открыть ваш обработчик файлов в двоичном режиме, используйте wb вместо w :

filehandler = open(b"fruits.obj","wb")
...