Ich habe folgende YAML-Datei:pyyaml und mit Anführungszeichen für Strings nur
---
my_vars:
my_env: "dev"
my_count: 3
Wenn ich es mit PyYAML lesen und Dump wieder, erhalte ich die folgende Ausgabe:
---
my_vars:
my_env: dev
my_count: 3
Der Code in Frage:
with open(env_file) as f:
env_dict = yaml.load(f)
print(yaml.dump(env_dict, indent=4, default_flow_style=False, explicit_start=True))
ich die default_style
Parameter versucht, mit:
with open(env_file) as f:
env_dict = yaml.load(f)
print(yaml.dump(env_dict, indent=4, default_flow_style=False, explicit_start=True, default_style='"'))
Aber jetzt erhalte ich:
---
"my_vars":
"my_env": "dev"
"my_count": !!int "3"
Was muss ich die ursprüngliche Formatierung zu halten zu tun, ohne in der YAML-Datei keine Annahmen über die Variablennamen machen?
Warum drucken Sie nicht nur die Datei, ist es wichtig, dass Sie das Wörterbuch als für Quelle verwenden, was Sie drucken und nicht die Datei selbst? – Nobilis
Ich werde dem Wörterbuch in Zukunft weitere Schlüssel hinzufügen, aber das Layout muss beibehalten werden. –