使用argparse参数名称作为变量名称

时间:2019-02-27 08:31:30

标签: python argparse

我想使用argparse中的参数名称作为变量名称。现在我正在做类似的事情:

import argparse

parser = argparse.ArgumentParser()

parser.add_argument('a')
parser.add_argument('b')
parser.add_argument('c')
parser.add_argument('--d')
parser.add_argument('--e')

args = parser.parse_args()

a = args.a
b = args.b
c = args.c
d = args.d
e = args.e

但是这样效率很低,最终我可能会得到超过10个参数。有没有一种有效的方法可以做到这一点?

2 个答案:

答案 0 :(得分:0)

请注意,这是非常不鼓励的行为,但是如果您确实需要这样做,

globals().update(args.__dict__)

将更新您的全局名称空间。

答案 1 :(得分:0)

这是最好的,我发现在重命名arg vars时可以减少代码行:

a,b,c,d,e = args.a, args.b, args.c, args.d, args.e

对我来说,这是一个可以接受的解决方案,不需要对arg var进行其他处理。