You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何yaml.safe_load('104:1')返回数字6241而非报错?

为什么yaml.safe_load('104:1')返回6241?

这是YAML的特殊语法规则导致的:当你写的字符串是104:1且冒号后没有空格时,YAML不会把它解析成键值对(键值对要求冒号后必须加空格,比如key: value),而是将其识别为分钟:秒的时间格式,并自动转换为总秒数。

计算逻辑很直接:

  • 104分钟换算成秒是 104 * 60 = 6240
  • 加上1秒后就是 6240 + 1 = 6241

对应的代码验证:

>>> import yaml
>>> yaml.safe_load('104:1')
6241

如果想让它被解析成键值对,只需要在冒号后加个空格,写成104: 1,此时yaml.safe_load会返回字典{'104': 1}。

内容的提问来源于stack exchange,提问作者Rilwan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 00:46:02