Es sieht aus wie pyyaml Teil der YAML 1.1 spec implementiert, die eine Menge verschiedenen Werte erlaubt als wahr oder falsch interpretiert werden:Gibt es eine Möglichkeit, pyyaml die liberale Behandlung von booleschen Werten zu überschreiben?
Canonical:
y|n
Regexp:
y|Y|yes|Yes|YES|n|N|no|No|NO
|true|True|TRUE|false|False|FALSE
|on|On|ON|off|Off|OFF`
>>> for k in "y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF".split("|"):
... print k, yaml.safe_load(k)
...
y y
Y Y
yes True
Yes True
YES True
n n
N N
no False
No False
NO False
true True
True True
TRUE True
false False
False False
FALSE False
on True
On True
ON True
off False
Off False
OFF False
und es serialisiert sie zu true
oder false
(im Gegensatz zu mit YAML 1.1 kanonischen y
und n
):
>>> yaml.safe_dump(dict(x=True, y=False))
'{x: true, y: false}\n'
Gibt es eine Möglichkeit, es zu überschreiben, so dass nur die kanonischen true
und false
Werte als booleans interpretiert werden?
danke, das hilft wirklich –