argparse包装器,支持env vars和/或yaml文件中的回退设置。
appsettings的Python项目详细描述
应用程序设置
有时需要从命令行读取设置。有时候你想要 从环境变量中读取。有时你想从 配置文件。
在一些非常特殊的时候,您希望使用 三者的结合。
appsettings模块提供了一个argparse子类,它允许 命令行、环境变量或yaml配置文件中的设置。
如果在其中几个位置提供了相同的值,则env var 总是胜过配置文件,命令行总是胜过一切。
用法与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”这样的长格式参数将提供env var和配置文件 退步。位置参数和像“-c”这样的短选项的行为 就像在argparse模块中那样。
应用程序设置
如果不向settingsparser构造函数提供yaml_file参数, 并且设置了app_settings_yaml环境变量,则该文件将 读取并分析以提供设置。(尽管它们仍然可以被 环境变量和命令行选项。)