PyYAML 설명서에서이 작업을 수행하는 방법을 찾을 수 없었습니다. YAML에서 정의한 파이썬 클래스를 나타내고 싶습니다. YAML에 지정되지 않은 경우 생성자의 매개 변수에 지정된 기본값이 있습니다. 예를 들어 :pyyaml의 기본 생성자 매개 변수
>>> class Test(yaml.YAMLObject):
... yaml_tag = u"!Test"
... def __init__(self, foo, bar=3):
... self.foo = foo
... self.bar = bar
... def __repr__(self):
... return "%s(foo=%r, bar=%r)" % (self.__class__.__name__, self.foo, self.bar)
...
>>> yaml.load("""
... --- !Test
... foo: 5
... """)
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
File "<stdin>", line 7, in __repr__
AttributeError: 'Test' object has no attribute 'bar'
나는 바 = 3 테스트 개체를 만들 것으로 예상,하지만 난 그것을 개체를 만들 때 내 생성자를 우회 같아요. 내가 YAML 모음에 대한 매핑을 포함하는 경우, 모든 것이 예상대로 작동합니다
>>> yaml.load("""
... --- !Test
... foo: 5
... bar: 42
... """)
Test(foo=5, bar=42)
사람이 내가이 기본값을 사용 할 수 있습니다 알고 있나요?