【发布时间】:2013-01-29 05:35:19
【问题描述】:
我刚刚开始使用PyYAML来转换一些数据。
我只是使用yaml.load 函数,它对我来说已经足够好了,直到我注意到它尝试将所有值转换为统一编码的字符串、int、日期等。
这在我的应用程序中可能是致命的,有没有办法避免这种转换? 我想以字符串的形式接收所有内容。 我查看了构造函数,找不到禁用此转换的方法。
更新:
我从yaml.load 得到的是OrderedDict,一切看起来都很好。唯一的问题是有些值是字符串,有些是整数。我想将所有值都作为字符串。我不希望 pyyaml 为我转换值。
【问题讨论】:
-
那你不是在解码 YAML。此外,究竟是什么你想留下字符串,什么不?如果你留下 everything 一个字符串,你想要
the_file.read();-) -
我使用pyyaml解析的文件实际上不是yaml,但它足够接近。因此我想避免类型转换。
-
但是什么类型的转换呢?您想接收列表吗?字典?你想转换布尔值吗?浮动?到任意深度还是固定格式?就目前而言,这太不明确了。
-
@delnan,请查看更新信息
-
举个例子,假设你有一个数据结构,其中两个字母的位置代码在历史上被不带引号地放入 YAML,并且你希望位置代码
on到 不会转换为True。
标签: python python-2.7 yaml pyyaml