PyYAMLとは異なる値の多くは、真または偽として解釈することができますYAML 1.1 specの一部、実装のように見えます:pyyamlのブール値の自由な処理を無効にする方法はありますか?
正規の:
y|n
は正規表現:
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
ですが、まだにシリアル化しています(YAML 1.1のy
とn
正規のとは対照的に)またはfalse
:
>>> yaml.safe_dump(dict(x=True, y=False))
'{x: true, y: false}\n'
のみ正規のtrue
とfalse
値は真偽値として解釈されるように、それを上書きする方法はありますか?
ありがとう、これは本当に役立ちます –