是否可以不区分大小写的方式检查argparse choices?
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')
最佳答案
通过使用将参数转换为小写
type = str.lower
用于
-p
开关。此解决方案由chepner在comment中指出。我之前提出的解决方案是
type = lambda s : s.lower()
这也是有效的,但仅使用
str.lower
更为简单。关于python - 不区分大小写的argparse选择,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27616778/