python - 不区分大小写的 argparse 选择

标签 python argparse case-insensitive

是否可以查看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/

相关文章:

python - 为什么 python argparse 模块不解析哈希标记?

python - 如何在python中存储计数值

python - 输出的 img alt 值不正确(Python3、Beautiful Soup 4)

python - 如何添加可选或一次参数?

python - 带有 argparse 模块的打印程序使用示例

mysql - 当内容为 latin1 时 SQL LIKE 不区分大小写

c#文件路径字符串比较不区分大小写

hashmap - 有什么有效的方法可以将不区分大小写的字符串作为 HashMap 键吗?

python - 为什么 ZeroMQ 示例不起作用?

python - ModuleNotFoundError : No Module named 'sklearn.utils._testing'