Я недавно открыл для себя YAML, и он оказался фантастическим форматом для моего проекта (я создаю текстовую RPG).Он обрабатывает все, что мне нужно, безупречно - файлы области (комнаты с descs, выходами, objs, npcs и т. Д.), Файлы сценариев, файлы npc, объектные файлы ... он решает их все!Есть только одна вещь ...
При обновлении значений в этих файлах мне, конечно, нужно записать их обратно на диск, чтобы сохранить изменения.К сожалению, метод dump()
от YAML действительно создает беспорядок.Сначала он распределяет по алфавиту все ключи, а затем, кажется, помещает одну пару k: v на строку.Это фактически взяло файл с 5 строками и превратило его в 94 строки.
Я попытался записать объекты YAML обратно на диск, используя write()
, но выдает
TypeError:ожидал символьный буферный объект
у меня.Пикл спас бы его, но я думаю, что это разрушило бы YAML-ность данных.Есть ли хороший способ сохранить объект YAML без dump()
?Я слышал упоминание о SQLite, будет ли это работать так же, как YAML?У меня практически нет опыта работы с базами данных, но кажется, что объекты YAML в основном являются базами данных.Стоит ли перекодировать все, чтобы использовать SQLite?Легко ли с ним сохранить измененные значения, в отличие от проблемы, с которой я столкнулся сейчас?
Любая помощь здесь была бы полезна.Я очень люблю YAML.Я долго пытался найти способ хранить все данные, которые мне нужны для моей игры, и когда я нашел YAML, он словно светился святым светом, когда хор ангелов пел на них свою славу - чтобы вы могли понятьесли бы я сначала хотел узнать, как сохранить данные YAML на диск без использования dump()
.Если нет, предложения приветствуются!