python - 执行从 python gflags 到 yaml 并返回的转换的惯用方式是什么?
问题描述
我正在为我的项目使用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
手动抓取和字符串化每个标志值。
解决方案
FLAGS.flags_into_string()
应该返回一个可以放在标志文件中的字符串。或者FLAGS.append_flags_into_file('path/to/flagfile.txt')
将标志附加到该文件。
这对你有用吗?
推荐阅读
- python - 如何在 Sphinx 和 DocString 中创建常规文本
- python - 使用子进程执行 Jar 文件后 Python 脚本挂起
- javascript - 关注点分离(服务层和路由器层)
- python - 当变量存在于输入和输出中时,使用矩阵符号求解线性系统
- mysql - haskell `hdbc` ODBC 连接立即为远程 MySQL 实例处理
- php - 从 facebook 实时视频评论中获取 PSID
- python - Python tornado 客户端的请求和视图的执行之间有很大的时间差
- performance - 如何加快解析 40Gb txt 文件并将每行插入一行到 sqlite db 的过程
- ggplot2 - 如何在 ggplot2 中使用 facet_grid 重新排序构面?
- sas - Proc SQL 网络运算符在 WHERE 中无法正确评估