Click为何自动转换所有参数为小写?大写函数参数相关问询
Click中使用大写函数参数绑定CLI输入的规则说明
Click 本身没有强制要求函数参数必须使用小写,你完全可以用MY_ARG这类大写参数名来绑定CLI输入,相关规则和细节如下:
默认参数映射逻辑:如果不显式指定CLI参数名,Click会自动将函数参数名的下划线替换为连字符,并转换为小写作为CLI选项/位置参数名。比如函数参数
MY_ARG,默认会对应CLI的--my-arg选项(或位置参数my-arg)。显式绑定自定义CLI参数名:如果希望CLI参数保持大写风格(比如
--MY-ARG),需要在装饰器中显式指定参数名,示例代码:
import click @click.command() @click.option("--MY-ARG", type=str, required=True) def cli(MY_ARG: str): print(f"获取到的CLI输入值:{MY_ARG}") if __name__ == "__main__": cli()
执行时输入python your_script.py --MY-ARG test,就能正确将值传递给函数的MY_ARG参数。
关于PR#1055的说明:该PR主要修复了Click对包含大写字母的函数参数名的解析兼容性问题,确保这类参数能被正确识别,但官方文档并未将“允许使用大写参数名”作为单独规则列出——因为Click的设计本身偏向灵活,参数名的大小写更多属于代码风格范畴,而非强制约束。
风格建议:虽然Click支持大写参数,但Python社区通用的PEP8规范建议函数参数使用小写加下划线格式。如果是团队协作项目,建议遵循通用风格;如果是个人项目或需要与外部系统参数名对齐,使用大写参数完全可行。
内容的提问来源于stack exchange,提问作者Maks
相关产品推荐
相关产品推荐

