python argparse : how to access arguments

标签 python argparse

似乎这个问题以前经常被问过,但我无论如何都找不到正确的答案。所以又来了...

示例代码:一个可选参数,参数转换为字典。

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”,值是一个包含两个参数的列表 - nameaixbuildhost。要访问这些值:

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

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

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

关于python argparse : how to access arguments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51169541/

相关文章:

python - 在 GTK 应用程序中嵌入 python 程序(C 语言)

python - docker运行时错误: Failed to initialize platform (azure-c-shared).错误:2153

Python,确定Unix进程是否正在运行的正确方法是什么?

python - Google App Engine 使用 Python 动态生成站点地图

python - Pandas 有条件地创建数据框列 : based on multiple conditions

python - 将命令行参数传递给使用装饰器参数调用装饰函数的函数

python - 如何在Python中使用argparse获取命令行参数?

python - 如何将 UNIX 查找输出作为 Python 脚本的参数传递?

带有 1 或 3 个位置参数的 python 脚本

python - argparse 用法如何在中间显示与 parser.add_argument() 互斥的选项?