I know there are a few questions about this on SO, but I couldn't find what I was looking for.
I'm using pyyaml to read (.load()
) a .yml
file, modify or add a key, and then write it (.dump()
) again. The problem is that I want to keep the file format post-dump, but it changes.
For example, I edit the key en.test.index.few
to say "Bye"
instead of "Hello"
Python:
with open(path, 'r', encoding = "utf-8") as yaml_file:
self.dict = pyyaml.load(yaml_file)
Then, afther changing the key:
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:
Before:
en:
test:
new: "Bye"
index:
few: "Hello"
anothertest: "Something"
After:
en:
anothertest: Something
test:
index:
few: Hello
new: Bye
Is there a way to keep the same format?, for example the qoutes and order. Am I using the wrong tool for this?
I know maybe the original file it's not entirely correct, but I have no control over it (it's a Ruby on Rails i18n file).
Thank you very much.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…