gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 22:01:19 26 4
gpt4 key购买 nike

我有一个脚本,它具有某些选项,可以在命令行上传递,也可以从环境变量传递。如果两者都存在,则 CLI 应该优先,如果两者都没有设置,则会发生错误。

我可以在解析后检查该选项是否已分配,但我更喜欢让 argparse 来完成繁重的工作,并在解析失败时负责显示使用语句。

我已经提出了几种替代方法(我将在下面发布它们作为答案,以便可以单独讨论),但我觉得它们很笨拙,我认为我遗漏了一些东西。

是否有公认的“最佳”方法?

(当 CLI 选项和环境变量都未设置时,编辑以明确所需的行为)

最佳答案

您可以将参数的 default= 设置为 .get()os.environ使用您要获取的环境变量。

您还可以在 .get() 调用中传递第二个参数,如果 .get() 通过该名称(默认情况下 .get() 在这种情况下返回 None)。

import argparse
import os

parser = argparse.ArgumentParser(description='test')
parser.add_argument('--url', default=os.environ.get('URL'))

args = parser.parse_args()
if not args.url:
exit(parser.print_usage())

关于python - 使用 argparse 时从环境变量设置选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10551117/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com