09:00在YAML中意味着什么?

时间:2015-11-20 15:29:28

标签: yaml pyyaml

09:00在YAML中的含义是什么?它有官方定义吗?

我看不到anything about this syntax in the tags section of the spec。鉴于以下YAML:

- 09:00
- 10:00

PyYAML只将第一个解释为字符串

 >>> import yaml
 >>> yaml.load("- 09:00\n- 10:00")
 ['09:00', 600]

YAMLlint将两者转换为看起来像秒的东西:

--- 
- 32400
- 36000

它应该是什么?这个定义得好吗?

1 个答案:

答案 0 :(得分:1)

您指的是规范的1.2版本,但PyYAML仅符合1.1版本。在1.1规范中,引用了sexagesimals,其代码就是将09:00识别为整数。

我的回答here on SO给出了一个示例,说明如何调整我的ruamel.yaml(派生自PyYAML),不将性感动物识别为整数,而是将其识别为字符串。你也应该能够将这个技巧应用到PyYAML本身。

从ruamel.yaml 0.11开始,其RoundTripLoader默认不支持未明确标记为%YAML 1.1的文档中的sexagesimals。