0

CLIを作成するためにpythonクリックモジュールを使用しています。実際には、次のような引数付きのカテゴリ コマンドが必要です。

myawesomecli env info
myawesomecli env clean
myawesomecli env ...

myawesomecli database create-table <name>
myawesomecli database insert <entry>
myawesomecli database ...

これまでのところ、私はこれを思い付くことができます:

import click
@click.group()
@click.version_option(version='0.1 ')
def cli():
    pass

@cli.command()
@click.argument('option')
def env(option):
    if option == 'info':
        click.echo("run env info command")
    elif option == 'clean':
        click.echo("run env clean command")     
    ...

@cli.command()
@click.argument('option')
def database(option):
    if option == 'create-table':
        click.echo("run database create-table command")
    elif option == 'clean':
        click.echo("run database clean command")        
    ...

if-else を使用する代わりに、各サブコマンドに機能を持たせる方法はありますか?

4

1 に答える 1

3
import click
@click.group()
@click.version_option(version='0.1 ')
def cli():
    pass

@cli.group()
@click.argument('option')
def env(option):
   """ Define the environment of the product """
   pass

@env.command()
def info():
    click.echo("run env info command")

@env.command():
def group():
    click.echo("run env group command")
...

私もいくつかのことを理解するのに苦労していますが、これは私が役立つことを願っている1つのアイデアです.

于 2016-05-12T23:37:58.013 に答える