本篇文章给大家分享的是有关单击库如何在Python中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
<强>点击强>
<强>点击强>是一个以尽可能少的代码,以组合的方式创建优美的命令行程序的Python包。它有很高的可配置性,同时也能开箱即用。
它旨在让编写命令行工具的过程既快速又有趣,还能防止由于无法实现预期的CLI API所产生挫败感。它有如下三个特点:
- <李>
任意嵌套命令
李> <李>自动生成帮助
李> <李>支持运行时延迟加载子命令
李> <强>快速开始强>
<强> 3.1业务逻辑强>
首先定义业务逻辑,是不是感觉到有些难以置信呢?
不论是argparse还是docopt,业务逻辑都是被放在最后一步,但点击却是放在第一步。细想想点击的这种方式才更符合人的思维吧?不论用什么命令行框架,我们最终关心的就是实现业务逻辑,其它的能省则省。
我们以官方示例为例,来介绍点击的用法和哲学。假设命令行程序的输入是名字和计数,功能是打印指定次数的名字。
那么在你好。py中,很容易写出如下代码:
def 你好(统计,,名字):, “““才能Simple program that greets NAME for a total of COUNT 次!”““, for 才能;x 范围(计数):拷贝, ,,,click.echo (& # 39; Hello % s ! & # 39;, %,名字)
这段代码的逻辑很简单,就是循环数次,使用点击。回声打印名字。其中,单击。回声和打印的作用相似,但功能更加强大,能处理好Unicode和二进制数据的情况。
<强> 3.2定义参数强>
很显然,我们需要针对计数和名字来定义它们所对应的参数信息。
- <李>
数对应为命令行选项数,类型为数字,我们希望在不提供参数时,其默认值是1
李> <李>名称对应为命令行选项,名称、类型为字符串,我们希望在不提供参数时,能给人提示
李>使用点击,就可以写成下面这样:
得到click import click , @click.command (), @click.option(& # 39;——数# 39;,,默认=1,帮助=& # 39;Number of 问候# 39;公司), @click.option(& # 39;——名字# 39;,,提示=& # 39;Your 名字# 39;,, ,,,,,,帮助=& # 39;从而person 用问候# 39;公司), def 你好(统计,,名字):, ,,…
在上面的示例中:
- <李>
使用装饰器的方式,即定义了参数,又将之与处理逻辑绑定,这真是优雅,和argparse docopt比起来,就少了一步绑定过程
李> <李>使用click.command表示你好是对命令的处理
李> <李>使用点击。选项来定义参数选项
李>- <李>
对于——计数来说,使用默认来指定默认值。而由于默认值是数字,进而暗示——数选项的类型为数字
李> <李>对于——名字来说,使用提示来指定未输入该选项时的提示语
李> <李>使用帮助来指定帮助信息
李>不论是装饰器的方式,还是各种默认行为,点击都是像它的介绍所说的那样,让人尽可能少地编写代码,让整个过程变得快速而有趣。
<强> 3.3代码梳理强>
使用点击的方式非常简单,我们将上文的代码汇总下,以有一个更清晰的认识:
#, hello.py import click , @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;:, 你好才能()
若我们指定次数和名字:
,美元python3 hello.py ——count 2,——name Eric Hello 埃里克!, Hello 埃里克!
若我们什么都不指定,则会提示输入名字,并默认输出一次:
,美元python3 hello.py 名称:Your Eric Hello 埃里克!单击库如何在Python中使用