使用rumael.yaml向使用omegaconfig生成的yaml添加注解

kkih6yb8  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(245)

我使用omegaconfig从python数据类生成yaml配置,但我注意到无法在生成的yaml文件中添加注解。
我正在寻找一种方法来获取生成的yaml配置字符串,并向不同的节和值添加注解。我曾考虑使用正则表达式,但遇到了一个问题,我有一个小节,后面跟着一个小节,我必须小心我写评论的顺序(我的第一个想法是从类“uu doc”中解析它们,但现在如果我认为更好,这不是一个好主意,我认为使用rumael.yaml这样做会更好,但是怎么做呢?
从obegaconfig文档可以看出,从数据类生成配置的工作方式如下:

from dataclasses import dataclass
>>> @dataclass
... class MyConfig:
...     port: int = 80
...     host: str = "localhost"
>>> # For strict typing purposes, prefer OmegaConf.structured() when creating structured configs
>>> conf = OmegaConf.structured(MyConfig)
>>> print(OmegaConf.to_yaml(conf))
port: 80
host: localhost

如何使用rumael.yaml向生成的yaml注解中注入?
如果有一种方法可以解析 __doc 在myconfig类上,从:

"""
port: This is a comment
host: This is another comment
section.another: Commenting a value under a base section
"""

并将其自动添加到我的yaml文件中,这样它将以如下方式结束:

port: 80 #this is a comment
host: localhost #this is another comment
section:
    another: #commenting a value under a base section

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题