如何在Python3中使用点击模块

  介绍

这期内容当中小编将会给大家带来有关如何在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(),两者有些许区别,使用场景也有所不同。

如何在Python3中使用点击模块