在此示例脚本中
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--modes', help="test", nargs='+', type=str)
args = parser.parse_args()
write_mode = args.modes
print(write_mode)
只有一个参数modes
.
但是,python test.py --modes sdfsf
和python test.py --mode sdfsf
给我相同的输出(['sdfsf']
(,这意味着parser
mode
视为modes
。
这是argparse
的错误吗?
这是前缀匹配的一个示例,默认情况下 argparse 允许这样做。
使用argparse.ArgumentParser(..., allow_abbrev=False)
将其关闭。