首页 > 解决方案 > 如何将对象保存到 JSON 列表?

问题描述

我正在使用 Python3 开发文本角色扮演游戏,并且遇到了保存对象的问题。

我可以保存字符串和整数(例如表示角色名称、统计数据等),但无法保存对象(例如物品或武器),因为我收到错误消息:

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")

标签: pythonjsonpython-3.xsave

解决方案


推荐阅读