Python yaml输出 - 浮点数精度?

3

我正在使用pyyaml将Python字典输出为YAML文件,想知道如何在写入文件时设置浮点数的精度或输出格式。

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


4
可能是 How to round numeric output from yaml.dump, in Python? 的重复问题。 - Hyperplane
1个回答

2
根据http://pyyaml.org/browser/pyyaml/trunk/lib/yaml/representer.pypyyaml在转储浮点数时使用repr()的规范字符串表示格式。更准确地说,将浮点数转换为字符串的主要代码行是:
# If data is a finite float and not nan
value = unicode(repr(data)).lower()

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接