跳转到主要内容

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 (3.8 kB 查看哈希值)

上传时间:

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页