Comment écrire en style bloc lors de la manipulation de yaml avec python Utilisez PyYAML
Supposons que vous ayez un fichier yaml comme celui-ci
test1: test
test2: test
Il peut être lu dans le type dictionnaire comme suit.
>>> import yaml
>>> f = open("test.yml", "r+")
>>> data = yaml.load(f)
>>> data
{'test1': 'test', 'test2': 'test'}
Lors de l'écriture, écrivez avec dump ()
comme suit.
>>> data
{'test1': 'test', 'test2': 'test'}
>>> f.write(yaml.dump(data))
>>> f.close()
En regardant le test.yml écrit, il ressemble à ce qui suit, ce qui n'est pas comme prévu. Très difficile à voir.
test1: test
test2: test
{test1: test, test2: test}
Pour écrire dans le style bloc au lieu du style flow, définissez default_flow_style = False
at dump ()
.
>>> f.write(yaml.dump(data, default_flow_style=False))
test1: test
test2: test
test1: test
test2: test
C'est comme prévu.
Lors de la conversion d'un objet instance en yaml avec dump ()
, il y a un problème avec la sortie de la balise de l'objet instance.
Par exemple, Ordered Dict
C'est
Comment changer le comportement lors du chargement / vidage de yaml avec PyYAML et ses détails
.
http://gihyo.jp/dev/serial/01/yaml_library/0003 http://blog.panicblanket.com/archives/1076
Recommended Posts