Я написал небольшой пример кода, чтобы опробовать модуль pickle. Столкнулся с UnicodeDecodeError в инструкции pickle.load(). Написание кодировки = 'utf-8' также не влияет. Вот кодUnicodDecodeError в двоичных файлах
import pickle
class NewOne:
def __init__(self):
self.name = "None"
self.age = 0
def entries(self):
self.name = input("Name: ")
self.age = input("Age: ")
obj1 = NewOne()
for i in range(3):
obj1.entries()
pickle.dump(obj1, open("Details", "ab"))
for j in range(3):
obj = pickle.load(open("Details",))
if obj.age == 18:
print("Name: "+obj.name)
я не получаю 'UnicodeDecodeError' на Python 2.7 (заменяя 'input' на' raw_input'). BTW, ваш 'pickle.load()' каждый раз загружает первый объект в файл, потому что вы открываете файл на каждой итерации цикла. – SiHa
Я получаю сообщение об ошибке с помощью PyCharm. Итак, что можно сделать, чтобы читать следующий объект каждый раз? Я думал, что это сработает, как на C++. – Abhay
Ну, попробуй это за пределами PyCharm и посмотри, все ли получишь. – SiHa