【发布时间】:2018-06-17 21:49:05
【问题描述】:
在将 YAML 字符串加载到 yaml 包时,是否有一种很好的方法可以防止实体转换为 python 对象?特别是,我不希望将时间戳字符串转换为日期时间对象。
这是一个例子:
import yaml
yaml.load("""d: 2018-06-17\nn: 42""")
给了
{'d': datetime.date(2018, 6, 17), 'n': 42}
但我想拥有
{'d': '2018-06-17', n: 42}
其中日期字符串保留为字符串,其他类型被转换。我不想更改输入字符串,例如,通过指定特定的数据类型。也许有一个替代的 YAML 加载器/解析器包。我正在使用 python3.6 和 PyYAML==3.12。
【问题讨论】:
-
这并不能解决我的问题。特别是,例外的答案建议修改我不想要的输入
-
您可能的选择是修改 yaml 读取结果 - 将 datetime.date(2018, 6, 17) 转换为字符串