You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制Python Click保持命令行参数的大小写?

问题:如何强制Click保持参数的大小写?

使用以下Click应用代码:

from rich.traceback import install

install(show_locals=True)

import click


@click.command()
@click.argument("PATH", envvar="PATH", nargs=-1, type=click.Path())
def f1(PATH):
    print(PATH)


if __name__ == "__main__":
    f1()

运行时出现如下错误:

TypeError: f1() got an unexpected keyword argument 'path'
解决方案

Click默认会将参数名称转换为小写,所以定义的PATH参数会被转成path传递给函数,导致函数参数不匹配。要强制保持参数大小写,只需在@click.argument装饰器中添加case_sensitive=True参数即可。

修改后的代码如下:

from rich.traceback import install

install(show_locals=True)

import click


@click.command()
@click.argument("PATH", envvar="PATH", nargs=-1, type=click.Path(), case_sensitive=True)
def f1(PATH):
    print(PATH)


if __name__ == "__main__":
    f1()

添加该参数后,Click会保留参数的原始大小写,函数接收到的参数名就是PATH,不会再出现参数不匹配的错误。

内容的提问来源于stack exchange,提问作者syvlorg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 05:40:57