它看起來像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
然而它將它們序列化爲true
或false
(相比之下,與YAML 1.1的規範y
和n
):
>>> yaml.safe_dump(dict(x=True, y=False))
'{x: true, y: false}\n'
有什麼辦法來覆蓋它,以便只有規範true
和false
值被解釋爲布爾值?
謝謝,這真的有幫助 –