在使用Click进行命令行处理的Python脚本中,我想在全局上下文中更改info_name
(以便修改帮助输出)
下面是一个精心设计的最小示例mycmd.py
,我尝试使用context_settings
:
import click
CONTEXT_SETTINGS = dict(info_name="hallo")
@click.command('mycmd', context_settings=CONTEXT_SETTINGS)
@click.pass_context
def click_cli(ctx):
pass
click_cli()
但是,当我使用python mycmd.py --help
运行此脚本时,我得到了回溯:
...
File ".../click/core.py", line 639, in make_context
ctx = Context(self, info_name=info_name, parent=parent, **extra)
TypeError: type object got multiple values for keyword argument 'info_name'
所以问题是**extra
(这就是上下文设置结束的地方)中的参数不能覆盖硬编码的info_name=info_name
参数。我该怎么做
使用cli函数的
prog_name
参数更改帮助名称(info_name
),如下所示:测试代码:
结果:
相关问题 更多 >
编程相关推荐