python - `argparse` 多选参数?

标签 python argparse

我正在使用 argparse 来解析应该如下所示的 Python 命令行:

python script_name.py --sdks=first, second

我的脚本是这样的:

sdk_choises = ['aio','sw']
parser = argparse.ArgumentParser(description='Blah blah')
parser.add_argument('--sdks', action='append', nargs='+', required=True, help='specifies target SDK(s)')
args = parser.parse_args()
if 'aio' in args.sdks:
   # do something with aio
if 'sw' in args.sdks:
   # do something with sw

当我执行时: python script_name.py --sdks=aio, sw 我收到错误:

"usage: script.py [-h] --sdks SDKS [SDKS ...]  
build.py: error: unrecognized arguments: sw"

我希望能够选择一个或所有选项:

python script_name.py --sdks=first
python script_name.py --sdks=second
python script_name.py --sdks=first, second

我哪里出错了?

最佳答案

下面的效果很好:

import argparse
parser = argparse.ArgumentParser(description='Blah blah')
parser.add_argument('--sdks', nargs='+', required=True, help='specifies target SDK(s)')
args = parser.parse_args()
print(args.sdks)

传递选项时不需要=,只需使用:

$ python test.py --sdks ai pw
['ai', 'pw']

关于python - `argparse` 多选参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32583852/

相关文章:

python - 未提供值时命令行参数的默认值

python - 使用 argparse 选择函数和供应选项

Python argparse - 禁用子命令的帮助?

给定 k 个分区的 Python 整数分区

python - 如何检索 python 代码的控制流图?

jquery - 为什么我的 JSONP 返回无效的 JSON

python - 使用 argparse 时将选项从环境变量设置为位置参数

Python:使用 os.mkdir 并使用方括号创建文件夹时出现 WindowsError

python - 从特定网站使用 xpath 提取 HTML 标记内容

Python 参数解析 : diiference between -o and --option