python argparse:如何访问参数
python argparse: how to access arguments
好像这个问题以前被问过很多次了,但我还是找不到正确的答案。所以又来了...
示例代码:一个可选的 arg,args 转换为 dict。
import argparse
epilog = '''usage example:'''
parser = argparse.ArgumentParser(description="add watchit hosts", epilog=epilog)
parser.add_argument('--add', nargs='*', default="-1", metavar="key 'value'")
args = vars(parser.parse_args())
print args
print args['name']
python argparse_test.py --添加名字'aixbuildhost'
吐出以下内容:
{'add': ['name', 'aixbuildhost']}
Traceback (most recent call last):
File "argparse_test.py", line 9, in <module>
print args['name']
KeyError: 'name'
所以最大的问题是,我如何获得“名称”?
键是 'add',值是一个包含两个参数的列表 -- name
和 aixbuildhost
。要访问值:
args['add'][0]
- 将 return 'name'
args['add'][1]
- 将 return 'aixbuildhost'
详细了解如何使用和解析字典 here。
或使用:
list(args.values())[0][0]
输出:
'name'
list(args.values())[0][1]
输出:
'aixbuildhost'
好像这个问题以前被问过很多次了,但我还是找不到正确的答案。所以又来了...
示例代码:一个可选的 arg,args 转换为 dict。
import argparse
epilog = '''usage example:'''
parser = argparse.ArgumentParser(description="add watchit hosts", epilog=epilog)
parser.add_argument('--add', nargs='*', default="-1", metavar="key 'value'")
args = vars(parser.parse_args())
print args
print args['name']
python argparse_test.py --添加名字'aixbuildhost' 吐出以下内容:
{'add': ['name', 'aixbuildhost']}
Traceback (most recent call last):
File "argparse_test.py", line 9, in <module>
print args['name']
KeyError: 'name'
所以最大的问题是,我如何获得“名称”?
键是 'add',值是一个包含两个参数的列表 -- name
和 aixbuildhost
。要访问值:
args['add'][0]
- 将 return 'name'
args['add'][1]
- 将 return 'aixbuildhost'
详细了解如何使用和解析字典 here。
或使用:
list(args.values())[0][0]
输出:
'name'
list(args.values())[0][1]
输出:
'aixbuildhost'