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环境变量,则该文件将 读取并分析以提供设置。(尽管它们仍然可以被 环境变量和命令行选项。)

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

推荐PyPI第三方库


热门话题
java OpenShift的齿轮特性   java如何在Liferay站点的每个页面上放置公司地址和电话?   java确定整数数组中是否存在一个子集,在两个条件下求和到给定的目标值   序列化为什么java中的serialVersionUID必须是静态的、最终的、长类型的?   java响应返回null   java注入接口实现Quarkus   java我不明白为什么第二次排序的运行时间比第一次慢?   (Java)显示图像的最佳方式?   java Android应用程序因添加布局而崩溃   java如何在运行时获取泛型变量的类   java Selenium web驱动程序:无效的选择器:*:WebKitFullScreenSentor   Spring中的java注入值始终为空   Eclipse中带有TestNG插件的@BeforeSuite和@AfterSuite的java问题   使用trycatch块、filewriter和printwriter在java中创建自定义类   如何在Java 安卓上绘制相交的两条线