Python click - 允许提示为空

gar*_*tmd 2 python command-line-interface python-click

我正在为 CLI 应用程序使用 click 库。我有用户可以指定的各种选项,其中大多数都打开了提示。但是,即使不需要某个选项,如果您设置单击以提示该选项,它也不会接受空响应(例如直接按回车键)。例如:

@click.option('-n', '--name', required=True, prompt=True)
@click.option('-d', '--description', required=False, prompt=True)

>>> myscript -n Joe
>>> Description: [Enter pressed]
>>> Description: [Enter pressed; click doesn't accept an empty parameter]
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题,或者这是否需要功能请求?

han*_*ast 6

添加时,default=""也接受空字符串:

@click.option('-d', '--description', prompt=True, default="")
Run Code Online (Sandbox Code Playgroud)

请注意,这required不是选项的可能参数,至少根据文档