Argparse增强了配置文件以覆盖基于代码的默认值

argconfig的Python项目详细描述


argconfig配置

argparse+yaml配置系统

其格式与argparse.ArgumentParser类;但是 它增加了为基本配置设置默认yaml文件的功能 重写代码中的默认设置。用法具有以下覆盖 优先级:

“命令行”>;“配置文件”>;“代码中的默认设置”

这将支持灵活的基于配置的命令行接口选项 按比例。在

要求

  • Python 3.7+
  • 皮亚姆
  • 阿尔格帕斯

示例

配置文件

使用示例.yaml配置文件位于与示例python代码相同的目录中:

$ cat example.yaml
foo : test1
bar : 2.0

示例代码

示例python代码将变量foo和bar分别设置为“testing”和2.0。 (注意语法与argparse.ArgumentParser。)

^{pr2}$

命令行用法示例

通过命令行设置foo和bar的示例运行时:

python example.py --foo test --bar 3.0

返回以下两个print语句:

foo: test
bar: 3.0

当值设置在示例.yaml在命令行未重写值时使用:

python example.py

返回以下两个print语句:

foo: test1
bar: 2.0

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX SwingWorker等价物?   java如何检查一个字符串只包含数字和一个小数点?   java遇到了异常组织。阿帕奇。卡塔琳娜。LifecycleException:无法启动组件   java如何从日期格式获取最低计时单位?   java应用服务器与开发过程的集成   java我无法运行Junit测试   无法在java多线程处理中维护生产者任务的顺序   java如何在CLI应用程序中“拦截”Ctrl+C?   java如何使用JSch进行原子SFTP文件传输,以便在写入过程完成之前无法访问该文件?   java当用户摆弄html范围滑块时,如何更改内容(文本)?   如何在Java中向现有文件追加文本?   JUnit测试中的java模拟Apache驼峰位置   java Maven更新项目和依赖项