Я использую pyyaml для вывода файлов yaml из словарей python, и мне интересно, как установить точность или формат вывода поплавков, когда они записываются в файлы.
Как мне создать yaml.dumper, чтобы справиться с этим?
Я использую pyyaml для вывода файлов yaml из словарей python, и мне интересно, как установить точность или формат вывода поплавков, когда они записываются в файлы.
Как мне создать yaml.dumper, чтобы справиться с этим?
Согласно 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
.