Python yaml 输出 - 浮点精度?
我正在使用pyyaml这个库,把Python字典转换成yaml文件。现在我想知道,如何设置浮点数在写入文件时的精度或输出格式。
我该如何创建一个yaml.dumper来处理这个问题呢?
1 个回答
2
根据 这个链接,pyyaml
在处理浮点数时,会使用 repr()
这个函数的标准字符串表示方式。更具体地说,负责将浮点数转换为字符串的主要代码行是:
# If data is a finite float and not nan
value = unicode(repr(data)).lower()
如果你想要不同的字符串格式,看来你得自己处理浮点数的字符串转换。你可以选择在程序中提前将浮点数转换为字符串,或者自己写一个 Representer
类,然后用它来初始化 yaml.dumper.Dumper
。