Как я могу сохранить объекты в список JSON? - PullRequest
0 голосов
/ 05 марта 2020

Я работаю над текстовой ролевой игрой в Python3 и столкнулся с проблемой сохранения объектов.

Я могу сохранить строки и целые числа (например, представление имени персонажа, статистики и т. Д.). c.), Но не могу сохранять объекты (например, предметы или оружие), так как я получаю сообщение об ошибке:

write() argument must be str, not Weapon

Вот мой код:

elif userinp == 'save':
    save_place = open("rpgsave.txt", "w")
    list_to_write = [strength, agility, dexterity, wisdom, intelligence, charisma, 
                     main_character.name, main_character.weapons, 
                     main_character.mp, main_character.xp, level_counter, job, 
                     free_points, copcoin, cloc.xpos, cloc.ypos, 
                     main_character.health, inventory]
    for i in range(len(list_to_write)):
        unacceptables = [main_character.weapons, inventory]
        if list_to_write[i] in unacceptables:
            if list_to_write[i] == main_character.weapons:
                save_place.write(list_to_write[i])
                save_place.write("\n")
            elif list_to_write[i] == inventory:
                objects = (Weapon, Item)
                for x in range(len(inventory)):
                    save_place.write(inventory[x])
                    save_place.write("\n")
        else:
            list_to_write[i] = str(list_to_write[i])
            save_place.write(list_to_write[i])
            save_place.write("\n")
...