【发布时间】:2021-01-10 07:29:47
【问题描述】:
我有一个类似这样的 Python 类:
from dataclasses import dataclass
from ruamel.yaml import yaml_object, YAML
yaml = YAML()
@yaml_object(yaml)
@dataclass
class DataObject:
normal_attr: str
normal_attr_2: str
conditional_attr: str
然后我希望能够根据某些条件使用ruamel.yaml(基于 PyYaml)有条件地转储conditional_attr。理想情况下,它会像这样工作:
data = DataObject()
if verbose_output:
yaml.dump(data, stream)
else:
yaml.dump(data, stream, exclude=['conditional_attr'])
当然这实际上不起作用,但是有什么方法可以实现这种行为吗?
【问题讨论】:
标签: python yaml pyyaml python-dataclasses ruamel.yaml