我正在为我的项目使用absl-py的 python gflags。
它们是指定配置的便捷方式,但我经常喜欢运行相同的配置,并且保存命令行调用并不可取,因为它们难以阅读和维护。
我希望能够维护指定标志值的 YAML 文本文件。例如,一个程序可能被调用为
python myapp.py --some_int_arg 3 --noboolean_value
也可以调用为
python myapp.py --from_config config.yaml
的内容在config.yaml
哪里
some_int_arg: 3
boolean_value: false
类似地,在第一次调用的情况下能够构造上面的文件会很好。
最地道的方法是什么
- 接受命令行上的配置文件路径并覆盖所有
absl.flags.FLAGS
值? - 将
absl.flags.FLAGS
实例转换为文本表示(最好是 YAML),然后可以使用 (1) 重新调用?
编辑. 似乎有一种简单的方法来接受配置文件,使用--flagfile
,它应该只在新行中包含每个标志的值。但是,我的问题 (2) 仍然存在,我如何才能恢复这样的文件?目前唯一的解决方案似乎是flags.FLAGS
手动抓取和字符串化每个标志值。