【问题标题】:What does 09:00 mean in YAML?YAML 中的 09:00 是什么意思?
【发布时间】:2016-02-23 03:46:12
【问题描述】:

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

应该是什么?这定义好了吗?

【问题讨论】:

    标签: yaml pyyaml


    【解决方案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 的文档中的六十进制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-15
      • 2018-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-21
      • 1970-01-01
      • 2018-04-24
      相关资源
      最近更新 更多