实例 1
click.command() 将一个函数装饰成命令行接口
import click
@click.command()
def hello():
click.echo("Hello World!")
在命令行执行可以看到下面的结果

实例2
@click.option() 和 @click.argument(),两者有些许区别,使用场景也有所不同。
总体而言,argument() 装饰器比 option() 功能简单些,后者支持下面的特性:
自动提示缺失的输入;
option 参数可以从环境变量中获取,argument 参数则不行;
option 参数在 help 输出中有完整的文档,argument 则没有;

实例3
Click 支持使用 setuptools 来更好的实现命令行程序打包,把源码文件打包成系统中的可执行程序,并且不限平台。
在空白路径cli文件下,新建hello.py和setup.py

hello.py的代码如下:
def cli():
print("Hello World")
setup.py的代码如下:
from setuptools import setup
setup(
name="myhello",
version='0.1',
py_modules=['hello'],
install_requires=[
'Click',
],
entry_points='''
[console_scripts]
myhello=hello:cli
''',
)
然后在当前路径执行
pip install --editable .
我们就可以在命令中使用myhello命令了

网友评论