在此示例脚本中
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
的错误吗? 最佳答案
这是prefix matching的示例,默认情况下argparse允许使用它。
使用argparse.ArgumentParser(..., allow_abbrev=False)
将其关闭。
关于python - Python argparse.ArgumentParser无法区分--modes和--mode,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58478936/