python-3.x - 使用选项解析多个值
问题描述
我在 Python 脚本中使用 argparse 进行参数解析。在这种情况下,我有两个值来自使用narg=2
. 但问题在于打印帮助时。下面是脚本的一部分。
#!/usr/bin/python3
import argparse
parser = argparse.ArgumentParser(description='My App')
parser.add_argument('--add',default=None, action='store',help='Add new value', nargs=2,metavar='name')
args = parser.parse_args()
上述代码的输出是:
$ python3 sshconfig.py list --help usage: sshconfig.py [-h] [--add NAME NAME]
My App
optional arguments: -h, --help show this help message and exit
--add NAME NAME Add new value
我需要区分--add
likeNAME
和的参数VALUE
,如下所示。
$ python3 sshconfig.py list --help usage: sshconfig.py [-h] [--add NAME VALUE]
My App
optional arguments: -h, --help show this help message and exit
--add NAME VALUE Add new value
解决方案
要添加多个标签,请将 metavar 设置为每个参数都有一个值的元组。
parser = argparse.ArgumentParser(description='My App')
parser.add_argument('--add', help='Add new value', nargs=2, metavar=('name', 'VALUE'))
args = parser.parse_args()
输出:
usage: test.py [-h] [--add name VALUE]
My App
optional arguments:
-h, --help show this help message and exit
--add name VALUE Add new value
推荐阅读
- r - 如何在闪亮的 navbarPage 中的单个 tabPanel 内创建侧边栏导航菜单?
- jquery - 创建按钮,使脚本在单击时运行
- android - 安装 react-navigation 和 react-native-gesture-handler 后 React Native 无法构建
- node.js - 在 NAPI 中使用 libsodium
- string - 找到最大的字符串,使得 'a', 'b', 'c' 不是连续的
- python - 如何在具有各种数据类型的列表中搜索字符串,如果存在则对它们执行操作?
- c# - 当客户端完全处理完消息时确认。兔MQ
- java - 如何监控任何时间点可能发生的异常?
- r - 使用 R 将大量不同的 data.frames 合并到列表列表中
- php - Lumen 中“web.php”中定义的“$router”变量在哪里?