2017-02-02 5 views
0

Как исправить эту ошибку? Когда я пытаюсь загрузить мой сохранить с использованием рассола это дает мне этоPython 2 - TypeError: аргумент int() должен быть строкой, байтовым объектом или числом, а не «списком»

Traceback (most recent call last): 
    File "C:\Users\user\Downloads\game.py", line 315, in <module> 
    menu() 
    File "C:\Users\user\Downloads\game.py", line 261, in menu 
    if (0) > int(hunger) or (0) > int(thirst): 
TypeError: int() argument must be a string, a bytes-like object or a number, not 'list' 

Это, как я загрузить/сохранить

with open('objs.pickle', "rb") as f: 
    money = pickle.load(f) 
    hunger = pickle.load(f) 
    thirst = pickle.load(f) 
    energy = pickle.load(f) 
    wanted = pickle.load(f) 
    gun = pickle.load(f) 


with open('objs.pickle', 'ab') as f: 
    pickle.dump([money, hunger, thirst, energy, gun, wanted], f) 
+0

всегда положил ** FULL ** сообщение об ошибке в ** ВОПРОС **. Есть и другая полезная информация. – furas

+0

Я его там редактировал – Cube

+0

использовать 'print (hunger, thirst)', чтобы увидеть, что у вас есть в этих переменных. – furas

ответ

0

Первое использование 'wb' вместо 'ab' иметь только последние значения

И позже вы можете использовать

with open('objs.pickle', "rb") as f: 
    money = pickle.load(f) 
    hunger = pickle.load(f) 
    thirst = pickle.load(f) 
    energy = pickle.load(f) 
    gun = pickle.load(f) 
    wanted = pickle.load(f) 


with open('objs.pickle', 'wb') as f: 
    pickle.dump(money, f) 
    pickle.dump(hunger, f) 
    pickle.dump(thirst, f) 
    pickle.dump(energy, f) 
    pickle.dump(gun, f) 
    pickle.dump(wanted, f) 

или

with open('objs.pickle', "rb") as f: 
    money, hunger, thirst, energy, gun, wanted = pickle.load(f) 

with open('objs.pickle', 'wb') as f: 
    pickle.dump([money, hunger, thirst, energy, gun, wanted], f) 
+0

Это сработало благодаря – Cube

Смежные вопросы