Вы можете настроить поведение PyYAML для любого типа, добавив представитель :
import re
import yaml
def pretty_print_int(n):
return re.sub(r"(?!^)(?=(?:...)+$)", "_", str(n))
def represent_int(dumper, data):
return dumper.represent_scalar("tag:yaml.org,2002:int", pretty_print_int(data))
yaml.add_representer(int, represent_int)
Значение magi c tag:yaml.org,2002:int
взято из YAML spe c и известен PyYAML.
PyYAML успешно загрузит сгенерированный YAML. Форматирование чисел с подчеркиванием соответствует YAML 1.1 spe c, но не YAML 1.2 spe c, поэтому некоторые другие парсеры могут иметь проблемы с ним.