使用argparse时从环境变量设置选项

使用argparse时从环境变量设置选项,第1张

使用argparse时从环境变量设置选项

我经常使用此模式,以至于我打包了一个简单的 *** 作类来处理它:

import argparseimport osclass EnvDefault(argparse.Action):    def __init__(self, envvar, required=True, default=None, **kwargs):        if not default and envvar: if envvar in os.environ:     default = os.environ[envvar]        if required and default: required = False        super(EnvDefault, self).__init__(default=default, required=required,         **kwargs)    def __call__(self, parser, namespace, values, option_string=None):        setattr(namespace, self.dest, values)

然后,我可以使用以下代码从我的代码中调用它:

import argparsefrom envdefault import EnvDefaultparser=argparse.ArgumentParser()parser.add_argument(    "-u", "--url", action=EnvDefault, envvar='URL',     help="Specify the URL to process (can also be specified using URL environment variable)")args=parser.parse_args()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5642785.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存