Wenn yaml.dump ausgeführt wird, ohne etwas festzulegen, wird die Referenzfunktion verwendet. Es kann nicht notwendig sein.
import yaml
person = {
"name": "foo",
"age": 20
}
d = [person, person]
print(yaml.dump(d))
Die Ausgabe ist beispielsweise wie folgt.
- &id001 {age: 20, name: foo}
- *id001
Sie können die Dumper-Option an yaml.dump übergeben. Dann sollte die hier übergebene ignore_aliases () -Methode der Dumper-Klasse True zurückgeben.
class IgnoreReferenceDumper(yaml.Dumper):
def ignore_aliases(self, data):
return True
print(yaml.dump(d, Dumper=IgnoreReferenceDumper))
Frieden ist gekommen.
- {age: 20, name: foo}
- {age: 20, name: foo}
Recommended Posts