2017-03-31 38 views
4

我正在使用click庫。調用哪個函數可以點擊打印幫助信息

在我的代碼,有時我想打印的幫助味精, 但我知道的唯一途徑是:

python xxx --help 

但我想打印幫助味精在我的代碼使用某些功能,例如:

click.print_help_msg() 

有沒有這樣的功能?

回答

6

您可以使用命令的get_help方法

import click 

@click.command() 
@click.option('--name', help='The person to greet.') 
def hello(name): 
    """Simple program that greets NAME.""" 
    click.echo('Hello %s!' % name) 

def print_help_msg(command): 
    with click.Context(command) as ctx: 
     click.echo(command.get_help(ctx)) 

>> print_help_msg(hello) 
+0

這是我最想要的!謝謝你的回答 – user3978288

1

我修改了點擊文檔中的示例,並提出了這個問題,儘管我之前沒有使用它,或者測試了下面的代碼。

@click.command() 
@click.option('--help') 
def help(): 
    """Simple program that greets NAME for a total of COUNT times.""" 
    for x in range(count): 
     click.echo(get_help_message()) 

def get_help_message(): 
    return "I AM A HELP MESSAGE!" 

會這樣的東西不行嗎?

+0

我想click.echo的輸出是一樣的「蟒蛇XXX --help」的輸出,有什麼解決辦法嗎? – user3978288

0

您可以使用click.echo是這樣的:

click.echo('FooBar') 

echo還支持彩色編碼和過濾基於類型如:

click.echo('FooBar', err=True) 

您可以參考documentation更多的瞭解。

+0

我希望click.echo的輸出與「python xxx --help」的輸出相同,有沒有解決方案? – user3978288