我可以给点击选项另一个名字吗?

时间:2018-01-17 09:46:55

标签: python command-line-interface python-click

我像这样使用import click @click.command(name='foo') @click.option('--bar', required=True) def do_something(bar): print(bar)

--id

因此选项的名称和函数参数的名称是相同的。当它不相同时(例如,当你想要--bar而不是TypeError: do_something() got an unexpected keyword argument 'id' 时),我得到:

id

我不希望将参数调用import { AppComponent } from './app.component'; import { HeaderComponent } from './components/header.component'; import { BreadcrumbComponent } from'./components/breadcrumb.component'; ,因为这是一个Python函数。我不希望将CLI参数调用为不同,因为它会更麻烦/更不直观。我该如何解决?

1 个答案:

答案 0 :(得分:5)

您只需要在-装饰器中添加一个非选项(不会以click.option开头)参数。单击将使用此作为函数参数的名称。这允许您使用Python关键字作为选项名称。

以下是在函数中使用id_的示例:

import click

@click.command(name='foo')
@click.option('--id', 'id_', required=True)
def do_something(id_):
    print(id_)

--from选项中有一个官方示例here