重命名 python 单击参数

Rename python click argument

我有这段代码:

import click

@click.option('--delete_thing', help="Delete some things columns.", default=False)
def cmd_do_this(delete_thing=False):
    print "I deleted the thing."

我想重命名 --delete-thing 中的选项变量。但是 python 不允许在变量名中使用破折号。有没有办法编写这种代码?

import click

@click.option('--delete-thing', help="Delete some things columns.", default=False, store_variable=delete_thing)
    def cmd_do_this(delete_thing=False):
        print "I deleted the thing."

所以delete_thing会被设置为delete-thing

的值

默认情况下,click 会智能地将选项内的命令行连字符映射到下划线,因此您的代码应该按原样工作。这用于点击文档,例如 Choice example. If --delete-thing is intended to be a boolean option, you may also want to make it a boolean argument.

正如 gbe 的回答所说,click 会自动将 cli 参数中的 - 转换为 python 函数参数的 _

但您也可以将 python 变量显式命名为您想要的任何名称。在此示例中,它将 --delete-thing 转换为 new_var_name:

import click

@click.command()
@click.option('--delete-thing', 'new_var_name')

def cmd_do_this(new_var_name):
    print(f"I deleted the thing: {new_var_name}")