Я работаю над текстовой ролевой игрой в 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")