ruamel.yaml.RoundTripRepresenter.add_representer(type(None), represent)
在0.14.X
版本的ruamel.yaml包
如何在ruamel.yaml软件包的旧版本(< = 0.11 )中使用相同的功能,或者在以前版本的软件包中使用其他方法?
这是我的程序示例
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'
答案 0 :(得分:0)
在早期版本的ruamel.yaml
中,RoundTripRepresenter
(在representer.py
中定义)未导入main.py
,因此无法通过__init__.py
(<{1}}登记/>
from ruamel.yaml.main import *
)
所以你应该从源代码中导入它:
from ruamel.yaml.representer import RoundTripRepresenter
RoundTripRepresenter.add_representer(type(None), represent)