Python yaml输出 - 浮点精度?

时间:2014-03-07 21:33:52

标签: python floating-point yaml precision pyyaml

我正在使用pyyaml从python词典输出yaml文件,并且想知道如何在浮点数写入文件时设置浮点数的精度或输出格式。

如何创建yaml.dumper来处理这个问题?

1 个答案:

答案 0 :(得分:1)

根据http://pyyaml.org/browser/pyyaml/trunk/lib/yaml/representer.py pyyaml在转储浮点数时使用规范字符串表示格式repr()。更准确地说,将浮点数转换为字符串的主要代码是

# If data is a finite float and not nan
value = unicode(repr(data)).lower()

如果你想要不同的东西,看起来你必须自己进行浮点数的字符串转换。您可以在程序中提前将浮点数转换为字符串,也可以编写自己的Representer类来初始化yaml.dumper.Dumper