小编典典

解析配置文件,环境和命令行参数,以获取单个选项集合

python

Python的标准库具有用于 配置文件解析
configparser),
环境变量读取
os.environ)和
命令行参数解析
argparse)的模块。我想编写一个可以完成所有这些任务的程序,并且:

  • 具有 一系列的选项值

    • 默认选项值,被覆盖
    • 配置文件选项,被覆盖
    • 环境变量,被覆盖
    • 命令行选项。
    • 允许 在命令行上 使用例如 指定 一个或多个 配置文件位置--config-file foo.conf,并读取该位置(代替或添加到常规配置文件中)。这仍然必须遵守上述级联。
  • 允许 在单个位置定义选项, 以确定配置文件和命令行的解析行为。

  • 将已解析的选项统一为一个 选项值集合, 供程序的其余部分访问,而无需关心它们的来源。

我需要的所有内容显然都在Python标准库中,但是它们不能一起正常工作。

如何以最小的Python标准库偏差实现此目标?


阅读 148

收藏
2021-01-20

共1个答案

小编典典

似乎标准库没有解决这个问题,使每个程序员都陷入困境configparserargparse并且os.environ以笨拙的方式聚在一起。

2021-01-20