如何在变量中存储argparse值?

时间:2014-03-21 22:09:02

标签: python argparse

我正在尝试使用以下代码向我的脚本添加命令行选项:

import argparse

parser = argparse.ArgumentParser('My program')
parser.add_argument('-x', '--one')
parser.add_argument('-y', '--two')
parser.add_argument('-z', '--three')

args = vars(parser.parse_args())

foo = args['one']
bar = args['two']
cheese = args['three']

这是正确的方法吗?

另外,我如何从IDLE shell运行它?我用这个命令     ' python myprogram.py -x foo -y bar -z cheese' 它给了我一个语法错误

3 个答案:

答案 0 :(得分:16)

这样可行,但你可以简化它:

args = parser.parse_args()

foo = args.one
bar = args.two
cheese = args.three

答案 1 :(得分:7)

使用args.__dict__

args.__dict__["one"]
args.__dict__["two"]
args.__dict__["three"]

答案 2 :(得分:0)

获取suggested in the documentation的参数值的规范方法是像以前一样使用vars并按名称访问参数值:

argv = vars(args)

one = argv['one']
two = args['two']
three = argv['three']