gpt4 book ai didi

python - `argparse` 多选参数?

转载 作者:太空狗 更新时间:2023-10-30 02:29:24 24 4
gpt4 key购买 nike

我正在使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com