Вывод Python yaml - точность с плавающей запятой?

Я использую pyyaml ​​для вывода файлов yaml из словарей python, и мне интересно, как установить точность или формат вывода поплавков, когда они записываются в файлы.

Как мне создать yaml.dumper, чтобы справиться с этим?


person eengineer    schedule 07.03.2014    source источник
comment
Возможный дубликат Как округлить числовой вывод из yaml.dump , на Python?   -  person Hyperplane    schedule 19.03.2019


Ответы (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.

person nwk    schedule 07.03.2014