繁体   English   中英

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 --add name'aixbuildhost'吐出以下内容:

{'add': ['name', 'aixbuildhost']}
Traceback (most recent call last):
  File "argparse_test.py", line 9, in <module>
    print args['name']
KeyError: 'name'

所以最大的问题是,我如何获得“名字”?

最关键的是“添加”,该值是包含两个参数列表- nameaixbuildhost 要访问这些值:

args['add'][0] -将返回'name'

args['add'][1] -将返回'aixbuildhost'

此处查看有关如何使用和解析字典的更多信息

或使用:

list(args.values())[0][0]

输出:

'name'

list(args.values())[0][1]

输出:

'aixbuildhost'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM