我正在使用pyyaml从python词典输出yaml文件,并且想知道如何在浮点数写入文件时设置浮点数的精度或输出格式。
如何创建yaml.dumper来处理这个问题?
答案 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
。