这期内容当中小编将会给大家带来有关如何在Python3中使用点击模块,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
#, hello.py import 单击 @click.command () @click.option(& # 39;——数# 39;,,默认=1,帮助=& # 39;Number of 问候# 39;公司) @click.option(& # 39;——名字# 39;,,提示=& # 39;Your 名字# 39;, ,,,,,,帮助=& # 39;从而person 用问候# 39;公司) def 你好(统计,,名字): “““才能Simple program that greets NAME for a total of COUNT 次!”““ for 才能;x 拷贝范围(数): ,,,click.echo (& # 39; Hello % s ! & # 39;, %,名称) if __name__ ==, & # 39; __main__ # 39;: 你好才能()
执行python你好。py——数=3,不难猜到控制台的输出结果。除此之外,点击还悄悄地做了其他的工作,比如帮助选项:
,美元python hello.py ——帮助 用法:,hello.py [选项] ,Simple program  that greets  NAME for a total of COUNT 次。 选项: ,——count INTEGER Number  of 问候。 ,——name TEXT 从而person 用问候。 ,——help ,,,, Show 却;能够message 以及退出。
函数秒变CLI
从上面的“Hello World”演示中可以看的出,点击是通过装饰器来把一个函数方法装饰成命令行接口的,这个装饰器方法就是@click.command ()。
import 点击 @click.command () def hello (): click.echo才能(& # 39;Hello 世界! & # 39;)
“@click.command()装饰器把hello()方法变成了命令对象,当它被调用时,就会执行该实例内的行为。而- help参数就是命令的对象内置的参数。
不同的命令实例可以关联到组中.group下绑定的命令就成为了它的子命令,参考下面的代码:
@click.group () def cli (): ,通过 @click.command () def initdb (): click.echo才能(& # 39;Initialized 从而数据库# 39;) @click.command () def dropdb (): click.echo才能(& # 39;Dropped 从而数据库# 39;) cli.add_command (initdb) cli.add_command (dropdb)
“@click.group装饰器把方法装饰为可以拥有多个子命令的组对象。由Group.add_command()方法把命令对象关联到集团对象。也可以直接用@Group.command装饰方法,会自动把方法关联到该集团的对象下。
@click.group () def cli (): ,通过 @cli.command () def initdb (): click.echo才能(& # 39;Initialized 从而数据库# 39;) @cli.command () def dropdb (): click.echo才能(& # 39;Dropped 从而数据库# 39;)
命令行的参数是不可或缺的,点击支持对命令方法添加自定义的参数,由()和()的参数选择装饰器实现。
@click.command () @click.option(& # 39;——数# 39;,,默认=1,帮助=& # 39;number of 问候# 39;) @click.argument(& # 39;名字# 39;) def 你好(统计,,名字): for 才能;x 拷贝范围(数): ,,,click.echo (& # 39; Hello % s ! & # 39;, %,名字)
打包跨平台可执行程序
通过点击编写了简单的命令行方法后,还需要把py文件转换成可以在控制台里运行的命令行程序。最简单的办法就是在文件末尾加上如下代码:
if __name__ ==, & # 39; __main__ # 39;: 命令才能()
点击支持使用setuptools来更好的实现命令行程序打包,把源码文件打包成系统中的可执行程序,并且不限平台。一般我们会在源码根目录下创建设置。py脚本,先看一段简单的打包代码:
得到setuptools import 设置 设置( name=& # 39;才能,你好# 39;=& # 39;版本才能0.1 & # 39; py_modules才能=[& # 39;你好# 39;], install_requires=[才能 ,,,& # 39;点击# 39; ,,, entry_points才能=& # 39;& # 39;& # 39; ,,,(console_scripts) ,,,你好=你好:cli & # 39;才能& # 39;& # 39; )
留意entry_points字段,在console_scripts下,每一行都是一个控制台脚本,等号左边的的是脚本的名称,右边的是点击命令的导入路径。
详解命令行参数
上面提到了自定义命令行参数的两个装饰器:@click.option()和@click.argument(),两者有些许区别,使用场景也有所不同。