是否可以以不区分大小写的方式检查 argparse 选择?
import argparse
choices = ["win64", "win32"]
parser = argparse.ArgumentParser()
parser.add_argument("-p", choices=choices)
print(parser.parse_args(["-p", "Win32"]))
结果是:
usage: choices.py [-h] [-p {win64,win32}]
choices.py: error: argument -p: invalid choice: 'Win32' (choose from 'win64','win32')
原文由 Peter 发布,翻译遵循 CC BY-SA 4.0 许可协议
通过使用将参数转换为小写
对于
-p
开关。chepner 在 评论 中指出了这个解决方案。我之前提出的解决方案是
这也是有效的,但使用
str.lower
更简单。