아래의 링크를 참고해서 파이썬의 click 도구를 사용하는 방법에 대해 알아보겠습니다.
https://click.palletsprojects.com/en/7.x/quickstart/
import click
@click.command()
def hello():
click.echo('Hello World!')
if __name__ == '__main__':
hello()
실행해보면,
$ python hello.py
Hello World!
@click.group()
def cli():
pass
@click.command()
def initdb():
click.echo('Initialized the database')
@click.command()
def dropdb():
click.echo('Dropped the database')
cli.add_command(initdb)
cli.add_command(dropdb)
마지막으로 setuptools entry point에서 Group을 호출할 수 있습니다.
if __name__ == '__main__':
cli()
@click.command()
@click.option('--count', default=1, help='number of greetings')
@click.argument('name')
def hello(count, name):
for x in range(count):
click.echo(f"Hello {name}!")
@click.command()
@click.option('--n', default=1)
def dots(n):
click.echo('.' * n)
# How to make an option required
@click.command()
@click.option('--n', required=True, type=int)
def dots(n):
click.echo('.' * n)
# How to use a Python reserved word such as `from` as a parameter
@click.command()
@click.option('--from', '-f', 'from_')
@click.option('--to', '-t')
def reserved_param_name(from_, to):
click.echo(f"from {from_} to {to}")
@click.command()
@click.option('--n', default=1, show_default=True)
def dots(n):
click.echo('.' * n)
@click.command()
@click.option('--name', prompt=True)
def hello(name):
click.echo(f"Hello {name}!")
$ hello --name=John
Hello John!
$ hello
Name: John
Hello John!
default prompt string이 맘에 들지 않는다면, 다음과 같이 사용할 수 있습니다.
@click.command()
@click.option('--name', prompt='Your name please')
def hello(name):
click.echo(f"Hello {name}!")