一旦你加載了一個YAML文件,它不再是「yaml」;它現在是一個Python數據結構,biotools
關鍵的內容是list
:
>>> import ruamel.yaml as yaml
>>> data = yaml.load(open('data.yml'))
>>> data['extra']['identifiers']['biotools']
['http://bio.tools/abyss']
像任何其他Python列表,你可以append
它:
>>> data['extra']['identifiers']['biotools'].append('http://bio.tools/anothertool')
>>> data['extra']['identifiers']['biotools']
['http://bio.tools/abyss', 'http://bio.tools/anothertool']
如果你打印出數據結構,你得到有效的YAML:
>>> print(yaml.dump(data))
extra:
identifiers:
biotools: [http://bio.tools/abyss, http://bio.tools/anothertool]
當然,如果由於某種原因你不喜歡這樣的名單表示你還可以得到在S yntactically相當於:
>>> print(yaml.dump(data, default_flow_style=False))
extra:
identifiers:
biotools:
- http://bio.tools/abyss
- http://bio.tools/anothertool
謝謝,@Anthon。它工作得很好。如果這些例子中的一些直接用於文檔來提高圖書館的可用性,那將是非常好的。 – ypriverol
如果此答案解決了您的問題,請通過單擊答案旁邊的✔(複選標記)來考慮*接受*。這是其他人知道你的問題已經解決的方式,沒有閱讀評論。它還會在列表中更改問題的外觀和此答案。如果有更好的答案出現,您可以隨時更改接受的答案。 – Anthon