将环境变量中的配置解析为typing.namedtuple

env-var-config的Python项目详细描述


此项目允许您将应用程序的配置描述为 typing.NamedTuple,就像这样:

importtypingclassMyAppConfig(typing.NamedTuple):some_string:strsome_int:intsome_float:floatsome_bool:bool=True

然后,从环境变量中收集配置:

importenv_var_configconfig=env_var_config.gather_config_for_class(MyAppConfig)

代码将查找像元组字段一样调用但大写的变量。

您可能已经注意到,可以在字段上设置默认值。 如果在环境中找不到具有默认值的字段,则将其设置为默认值 (这并不奇怪)。 但是,如果缺少没有默认值的值,则会引发错误。 也就是说,除非将allow_empty选项设置为True 在对gather_config_for_class的调用中。 然后所有缺少的值都将使用其类型的默认值初始化, 例如,空字符串表示str,0表示int,等等。

安装

pip install env_var_config

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

推荐PyPI第三方库


热门话题
无法在Netbeans 8.2 JDK8u231中创建java Maven项目(Web应用程序)   java如何以设定的时间间隔生成随机数?   java从socket和inputStream的慢速读取   spring SCORM:Java中基于Web的SCORM播放器   Java将函数传递给方法   java绑定通用服务及其实现和子类型   java如何在运行时从选择列表框中动态选择选项?爪哇硒   java Selenium WebDriver什么是“Selenium客户端和WebDriver语言绑定”   elasticsearch需要elasticsearch高级Java客户端更新ByQueryRequest API帮助   JAVA哈希表查找最大值   WSDL操作中的java soapAction属性为空   java访问封闭类或父类方法的一般方法   eclipse在java中运行带有SeleneTestCase的ANT。lang.NoClassDefFoundError   java Hazelcast不会在节点启动时填充ReplicatedMap   如何在Java中从excel中读取特定行?   html JAVA将本地时间(GMT+8)转换为UTC时间   java将自定义端点添加到Spring数据REST存储库中,并以大摇大摆的方式显示   java计算未来位置