如何将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环境运行它?我用的命令是 'python myprogram.py -x foo -y bar -z cheese',但它给我报了语法错误。
3 个回答
2
获取参数值的标准方法是使用文档中推荐的方式,也就是使用 vars
函数,然后通过参数名称来访问这些值:
argv = vars(args)
one = argv['one']
two = args['two']
three = argv['three']
7
使用 args.__dict__
args.__dict__["one"]
args.__dict__["two"]
args.__dict__["three"]
32
这样做是可以的,但你可以稍微简化一下,像这样:
args = parser.parse_args()
foo = args.one
bar = args.two
cheese = args.three