Как использовать представитель в более старой версии (версия <= 0.11) ruamel.yaml
ruamel.yaml.RoundTripRepresenter.add_representer(type(None), represent)
Прекрасно работает в 0.14.X
версия пакета ruamel.yaml
Как использовать ту же функциональность в более старой версии (<= 0.11) пакета ruamel.yaml или альтернативный способ использования в предыдущей версии пакета?
вот пример моей программы
def represent(self, data):
return self.represent_scalar(u'tag:yaml.org,2002:null', u'NULL')
ruamel.yaml.RoundTripRepresenter.add_representer(type(None), represent)
data = ruamel.yaml.round_trip_load(input.yaml)
ruamel.yaml.round_trip_dump(data, output.yaml)
во время работы над кодом становится ошибка ниже
ruamel.yaml.RoundTripRepresenter.add_representer(type(None), represent_none)\nAttributeError: 'module' object has no attribute 'RoundTripRepresenter'
1 ответ
В старых версиях ruamel.yaml
RoundTripRepresenter
(определено в representer.py
) не был импортирован в main.py
и, следовательно, не доступны через __init__.py
(который делаетfrom ruamel.yaml.main import *
)
Таким образом, вы должны просто импортировать его из источника:
from ruamel.yaml.representer import RoundTripRepresenter
RoundTripRepresenter.add_representer(type(None), represent)