通过环境配置
viaenv的Python项目详细描述
viaenv-通过python环境进行配置
viaenv
使用variable annotation
从环境变量中填充值。
示例
fromdatetimeimporttimedeltafromviaenvimportpopulate_from_envclassconfig:port:int=8080log_file:str='/var/log/server.log'timeout:timedelta=timedelta(milliseconds=100)populate_from_env(config,prefix='SRV',# If you don't pass env, populate_from_env will use os.environenv={'SRV_PORT':'9000','SRV_TIMEOUT':'300ms'})print(config.port)# 9000print(cfg.timeout==timedelta(milliseconds=300)# True
支持的类型
bool
:y
,yes
,t
,true
,on
,1
->;True
,n
,no
,f
,false
,off
,0
->;False
date
:2019-05-18
datetime
:2019-05-18T13:43:12
dict
:{"x": 1, "y": 2}
(json格式)float
:1.3
,1e7
int
:12
,0x12
,0o12
,0b12
list
:[1, 2, 3]
(json格式)str
:任何事情都会发生time
:13:43:12
timedelta
:10us
,20ms
,30s
,17m
,2h
,7d
,1h20m
您可以通过调用register_type_parser(typ, parser)
来添加类型
typ
是一个类型(例如float
),而parser
是一个单参数函数
将获取字符串形式的值。