Я знаю, что есть несколько вопросов об этом на SO, но я не мог найти то, что искал.
Я использую pyyaml для чтения (.load()
) a .yml
файла, изменения или добавления ключа, а затем снова напишите (.dump()
). Проблема в том, что я хочу сохранить формат файла после дампа, но он изменяется.
Например, я редактирую клавишу en.test.index.few
, чтобы сказать "Bye"
вместо "Hello"
Python:
with open(path, 'r', encoding = "utf-8") as yaml_file:
self.dict = pyyaml.load(yaml_file)
Затем, изменив ключ:
with open(path, 'w', encoding = "utf-8") as yaml_file:
dump = pyyaml.dump(self.dict, default_flow_style = False, allow_unicode = True, encoding = None)
yaml_file.write( dump )
YAML:
До:
en:
test:
new: "Bye"
index:
few: "Hello"
anothertest: "Something"
После:
en:
anothertest: Something
test:
index:
few: Hello
new: Bye
Есть ли способ сохранить тот же формат?, например, qoutes и order. Использую ли я для этого неправильный инструмент?
Я знаю, возможно, исходный файл не совсем корректен, но я не контролирую его (это файл Ruby on Rails i18n).
Большое спасибо.