gpt4 book ai didi

Python如何从变量的argparse中获取值,而不是变量的名称?

转载 作者:行者123 更新时间:2023-12-01 23:12:40 26 4
gpt4 key购买 nike

如果我执行 args.svc_name,我期望等于 args.option1,因为 svc_name 的值是 option1。但我收到错误“'命名空间'对象没有属性'svc_name'”

parser = argparse.ArgumentParser(prog=None,description="test")   
parser.add_argument("--option1", nargs="?",help="option")
args = parser.parse_args()
svc_name = "option1"
print (args.svc_name)

有人可以帮我吗?

最佳答案

ArgumentParser 类将键公开为直接属性而不是映射,因此要直接获取属性,只需直接访问它即可。根据问题中的示例,它只是

print(args.option1)

如果希望有一些其他变量(例如问题中的 svc_name)来存储属性/标志以从 argparser 获取值,只需将其转换为映射(即 dict)使用 vars然后调用get方法

print(vars(args).get(svc_name))

或者,getattr(args, svc_name)

关于Python如何从变量的argparse中获取值,而不是变量的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43624460/

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