【发布时间】:2019-07-17 08:19:01
【问题描述】:
我有一个包含以下行的 YAML 文件:
景点:
VT CODE : 0210
如果我使用 yaml.safe_load 读取此文件并在之后转储它,我会得到:
景点:
VT Code : 136
我知道我可以使用引号将 0210 标记为字符串,但我想知道为什么 yaml 会这样。
如果尝试:
print (int('0210'))
我得到 210
所以我认为必须有更多的纯类型转换
【问题讨论】:
-
0210 和 136 都只是相同数字的表示。 Python 将带有前导 0 的数字视为基数 8(或 python 2,python3 会引发语法错误并需要 0o 作为前缀)。你希望它是一个数字还是一个字符串?
标签: python python-3.x yaml