the*_*lse 12 python yaml pyyaml python-2.7
我刚开始使用PyYAML转换一些数据.
我只是使用该yaml.load函数,它对我来说已经足够了,直到我注意到它试图将所有值转换为单编码字符串,int,日期等.
这在我的应用程序中可能是致命的,有没有办法避免这种转换?我想收到一切作为字符串.我查看了构造函数,但无法找到禁用此转换的方法.
更新:我得到的yaml.load是OrderedDict一切,一切看起来都很好.唯一的问题是有些值是字符串,有些是int.我想将所有值都作为字符串.我不希望pyyaml为我转换值.
DSM*_*DSM 27
好吧,您可以使用Loader=yaml.BaseLoader将所有内容保留为字符串:
>>> x = [[1,2,3], {1:2}]
>>> s = yaml.dump(x)
>>> s
'- [1, 2, 3]\n- {1: 2}\n'
>>> yaml.load(s)
[[1, 2, 3], {1: 2}]
>>> yaml.load(s, Loader=yaml.BaseLoader)
[[u'1', u'2', u'3'], {u'1': u'2'}]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3483 次 |
| 最近记录: |