faswud Ответов: 1

Python typeerror: файл должен иметь атрибут 'write' при использовании pickle


Всем привет,
Я пытаюсь решить проблему с сохранением файла вот код:
import random
import pickle
save=open('Zapis gry', 'wb')
name = input('Wpisz swój nick')
choice_race=0
while not (choice_race > 0 and choice_race < 5):
    while True:
        try:
            choice_race = int(input('''Wpisz jedną z 4 cyferek- każda oznacza inną rasę:
            1-Wojownik                        2-Łucznik                      3-Mag                        4-Ninja
            - Posiada tarcze (10% szans         - atakuje z dystancu (3       - Może się leczyć (20%       - Jest bardzo zwinny (20%
              na obronę przed atakiem)            pierwsze ciosy w walce        szans na przywrócenie        na uniknięcie ciosu)
                                                  są jego)                      punktów życia z zakresu    - pierwszy cios jest
                                                                                5-10 co atak)                zawsze jego
            - 150 punktow życia                 - 80 punktów życia            - 50 punktów życia           - 120 punktów życia  
            - zadaje obrażenia z zakresu        - zadaje obrażenia z zakresu  - Zadaje obrażenia z zakresu - Zadaje obrażenia z                           
              8-10                                12-15                         15-20                        zakresu 10-12     '''))

        except:
            print("Wpisz liczbę z zakresu od 1 do 4")
        break
if choice_race==1:
    race= [name, 'wojownik', 150, (8, 10), 10, 0]
elif choice_race==2:
    race= [name,'łucznik',80, (12,15), 0, 0]
elif choice_race==3:
    race=[name, 'mag', 50, (15,20), 0, 20]
else :
    race=[name, 'ninja',120, (10, 12), 20, 0]
pickle.dump(race, "Zapis gry")
save.close() 

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

Что я уже пробовал:

ИДК, почему я должен это записать, я много пробовал, но думаю, что кто-то может помочь мне со 100% вероятностью всего за несколько секунд!

1 Ответов

Рейтинг:
2

User 7429338

соленый огурец.дамп требует параметра объекта file, но вы передали строку имени файла. Вместо "Записки Гры"- ты должен сдать экзамен сохранить:

pickle.dump(race, save)