重命名 python 点击​​参数

kal*_*gne 7 python command-line-arguments python-click

我有这段代码:

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."
Run Code Online (Sandbox Code Playgroud)

我想重命名 中的选项变量--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."
Run Code Online (Sandbox Code Playgroud)

所以delete_thing将被设置为值delete-thing

wis*_*cky 6

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

但您也可以将 python 变量显式命名为您想要的任何名称。在此示例中,它转换--delete-thingnew_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}")
Run Code Online (Sandbox Code Playgroud)


gbe*_*gbe 3

默认情况下,单击将智能地将选项内命令行连字符映射到下划线,以便您的代码应按原样运行。这在点击文档中使用,例如,在Choice 示例中。如果 --delete-thing 旨在成为布尔选项,您可能还想将其设为布尔参数