我正在尝试使用以下代码向我的脚本添加命令行选项:
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' 它给了我一个语法错误
答案 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']