Python yaml 输出 - 浮点精度?

3 投票
1 回答
3037 浏览
提问于 2025-04-17 21:21

我正在使用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

撰写回答