Argparse包装器,支持从环境变量和/或yaml文件中回退设置。
项目描述
appsettings
有时您想从命令行读取设置。有时您想从环境变量中读取它。有时您想从配置文件中读取它。
在某些非常特殊的情况下,您想允许使用三种组合之一来传递值。
appsettings模块提供了一个argparse子类,允许从命令行、环境变量或yaml配置文件中提取设置。
如果在多个位置提供了相同的值,则环境变量始终优于配置文件,而命令行始终优于一切。
使用方法与argparse相同,只是在初始化解析器和向其添加参数时增加了一些新参数。示例
from appsettings import SettingsParser f = open('some_config_file.yaml') parser = SettingsParser(yaml_file=f) parser.add_argument('--color', default='blue', env_var='FAVCOLOR') args = parser.parse_args() print args.color # If you've set the FAVCOLOR environment variable you should now see its # value printed to the console. Otherwise you'd see 'blue'
注意事项
选项仅限
只有长格式参数,如“–color”,才会提供环境变量和配置文件的回退。位置参数和短选项,如“-c”,将像在argparse模块中一样表现。
APP_SETTINGS_YAML
如果您没有为SettingsParser构造函数提供yaml_file参数,并且APP_SETTINGS_YAML环境变量已设置,则将读取并解析该文件以提供设置。(尽管它们仍然可以通过环境变量和命令行选项进行覆盖。)
项目详情
关闭
appsettings-0.8.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8aa90699a67a90edf88b11b6f5d539506daee4395f7e6bbae62c5e6505b2ddd6 |
|
MD5 | 1181cede5c13378f4dd6b404c0936c8e |
|
BLAKE2b-256 | c05bce768ca9fcbdb8bdb41b6c6032b0ebd12532b18670a10b5e4b5a01d67899 |