有时我必须在配置文件中指定时间(以秒为单位),并且写精确的秒数非常烦人-相反,我想执行算术运算,因此可以使用:
some_time: 1 * 24 * 60 * 60
而不是确切的:
some_time: 86400
不幸的是,在使用以下行:时some_time: 1 * 24 * 60 * 60
,它将把该配置行视为字符串。我当然可以使用-eval(config['some_time'])
但是我想知道是否可以在YAML中执行算术运算?
我认为没有。至少不符合规范(http://yaml.org/spec/1.2/spec.html)。人们在yaml上添加了非官方标签(而Wikipedia似乎说有一个yield标签的提议,尽管他们没有说是谁提议的或在哪里提出的:http : //en.wikipedia.org/wiki/YAML#cite_note-16) ,但pyyaml中似乎没有您需要的东西。
查看pyyaml特定的标签似乎没有任何意义。尽管!!timestamp '2014-08-26'
在您的某些情况下可能会很方便(http://pyyaml.org/wiki/PythonTagScheme)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句