在Python 2.7下查看此代码:
>>> import yaml
>>> yaml.load('string: 01')
{'string': 1}
>>> :(
是否可以在不修改yaml文件的情况下获取字符串01
?我在文档中找不到任何内容。
答案 0 :(得分:9)
尝试:
>> import yaml
>> yaml.load('string: 01', Loader=yaml.loader.BaseLoader)
{u'string': u'01'}
答案 1 :(得分:0)
我一直在寻找完全相反的效果:数字被转换为st,但数字却被转换为wanted。我不小心使用了BaseLoader(该复制粘贴!)。
LOADER 是答案,正如@KonradHałas所说的那样。
强制字符串:
yaml.load('string: 01', Loader=yaml.loader.BaseLoader)
强制编号:(默认)
yaml.load('string: 01', Loader=yaml.loader.SafeLoader)
有关弃用和详细信息的链接:
https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation