iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python 中如何使用click命令行库:
  • 429
分享到

Python 中如何使用click命令行库:

2023-06-16 18:06:22 429人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

python 中如何使用click命令行库:,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。click是一个以尽可能少的代码、以组合的方式创建优美的命令行程序的

python 中如何使用click命令行库:,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

click

是一个以尽可能少的代码、以组合的方式创建优美的命令行程序的 Python 包。它有很高的可配置性,同时也能开箱即用。

它旨在让编写命令行工具的过程既快速又有趣,还能防止由于无法实现预期的 CLI api 所产生挫败感。它有如下三个特点:

  • 任意嵌套命令

  • 自动生成帮助

  • 支持运行时延迟加载子命令

三、快速开始

3.1 业务逻辑

首先定义业务逻辑,是不是感觉到有些难以置信呢?

不论是 argparse 还是 docopt,业务逻辑都是被放在最后一步,但 click 却是放在第一步。细想想 click  的这种方式才更符合人的思维吧?不论用什么命令行框架,我们最终关心的就是实现业务逻辑,其它的能省则省。

我们以官方示例为例,来介绍 click 的用法和哲学。假设命令行程序的输入是 name 和 count,功能是打印指定次数的名字。

那么在 hello.py 中,很容易写出如下代码:

def hello(count, name):     """Simple program that greets NAME for a total of COUNT times."""     for x in range(count):         click.echo('Hello %s!' % name)

这段代码的逻辑很简单,就是循环 count 次,使用 click.echo 打印 name。其中,click.echo 和 print  的作用相似,但功能更加强大,能处理好 Unicode 和 二进制数据的情况。

2 定义参数

很显然,我们需要针对 count 和 name 来定义它们所对应的参数信息。

  • count 对应为命令行选项 --count,类型为数字,我们希望在不提供参数时,其默认值是 1

  • name 对应为命令行选项 --name,类型为字符串,我们希望在不提供参数时,能给人提示

使用 click,就可以写成下面这样:

from click import click  @click.command() @click.option('--count', default=1, help='Number of greetings.') @click.option('--name', prompt='Your name',               help='The person to greet.') def hello(count, name):     ...

在上面的示例中:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 使用装饰器的方式,即定义了参数,又将之与处理逻辑绑定,这真是优雅。和 argparse、docopt 比起来,就少了一步绑定过程

  3. 使用 click.command 表示 hello 是对命令的处理

  4. 使用 click.option 来定义参数选项

  • 对于 --count 来说,使用 default 来指定默认值。而由于默认值是数字,进而暗示 --count 选项的类型为数字

  • 对于 --name 来说,使用 prompt 来指定未输入该选项时的提示语

  • 使用 help 来指定帮助信息

不论是装饰器的方式、还是各种默认行为,click 都是像它的介绍所说的那样,让人尽可能少地编写代码,让整个过程变得快速而有趣。

3.3 代码梳理

使用 click 的方式非常简单,我们将上文的代码汇总下,以有一个更清晰的认识:

# hello.py import click  @click.command() @click.option('--count', default=1, help='Number of greetings.') @click.option('--name', prompt='Your name',               help='The person to greet.') def hello(count, name):     """Simple program that greets NAME for a total of COUNT times."""     for x in range(count):         click.echo('Hello %s!' % name)  if __name__ == '__main__':     hello()

若我们指定次数和名字:

python3 hello.py --count 2 --name Eric Hello Eric! Hello Eric!

若我们什么都不指定,则会提示输入名字,并默认输出一次:

$ python3 hello.py Your name: Eric Hello Eric!

我们还可以通过 --help 参数查看自动生成的帮助信息:

Usage: hello.py [OPTIONS]    Simple program that greets NAME for a total of COUNT times.  Options:   --count INTEGER  Number of greetings.   --name TEXT      The person to greet.   --help           Show this message and exit.

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网Python频道,感谢您对编程网的支持。

--结束END--

本文标题: Python 中如何使用click命令行库:

本文链接: https://www.lsjlt.com/news/284652.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python 中如何使用click命令行库:
    Python 中如何使用click命令行库:,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。click是一个以尽可能少的代码、以组合的方式创建优美的命令行程序的 ...
    99+
    2023-06-16
  • Python命令行库click的具体使用
    目录一、前言二、介绍三、快速开始四、小结一、前言 今天要介绍的 click 则是用一种你很熟知的方式来玩转命令行。命令行程序本质上是定义参数和处理参数,而处理参数的逻辑一定是与所定义...
    99+
    2022-11-11
  • Python中强大的命令行库click入门教程
    前言 我们的游戏资源处理工具是Python实现的,功能包括csv解析,UI材质处理,动画资源解析、批处理,Androd&iOS自动打包等功能。该项目是由其他部门继承过来的,由于绝大部分代码不符合我们的业务需...
    99+
    2022-06-04
    命令行 入门教程 强大
  • Python利用装饰器click处理解析命令行参数
    目录简介基本形式历史攻略之前的案例改造成click装饰简介 在Python开发和测试过程中主要有两种模式可以选择:脚本模式、命令行模式。在代码的开发和调试过程中使用脚本模式很方便,目...
    99+
    2022-11-11
  • 怎么使用Python命令行库fire
    本篇内容主要讲解“怎么使用Python命令行库fire”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Python命令行库fire”吧!一、前言今天要介绍的 fire则是用一种面向广义对象...
    99+
    2023-06-16
  • 如何使用命令行连接MySQL数据库
    Windows操作系统下,开始——运行,打开"运行"对话框,输入cmd,点击“确定”即可进入DOS窗口。DOS窗口输入登录MySQL数据库命令mysql -h 127.0.0.1 -u ...
    99+
    2022-10-18
  • 如何使用命令行删除mysql数据库
    本篇内容主要讲解“如何使用命令行删除mysql数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用命令行删除mysql数据库”吧!在开始之前,我们需要确保有MySQL管理员权限和root...
    99+
    2023-07-06
  • 如何使用命令行进入 MySQL 数据库
    MySQL 是一种常用的开源关系型数据库管理系统,可以通过命令行界面与其进行交互。在本文中,我们将详细介绍如何使用命令行进入 MySQL 数据库,并提供相应的源代码示例。 以下是进入 MySQL 数据库的具体步骤: 打开终端或命令提示符...
    99+
    2023-12-23
    数据库 mysql
  • linux中如何退出python命令行
    linux中退出python命令行的方法:1、使用python提供的exit()函数退出python命令行;2、使用函数quit()退出python命令行;3、使用快捷键【Ctrl +D】退出python命令行;4、输入“ps aux | ...
    99+
    2022-10-19
  • 用什么库写Python命令行程序
    这篇文章主要介绍“用什么库写Python命令行程序”,在日常操作中,相信很多人在用什么库写Python命令行程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”用什么库写Python命令行程序”的疑惑有所帮助!...
    99+
    2023-06-16
  • python如何使用Copy命令
    这篇文章主要为大家展示了“python如何使用Copy命令”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何使用Copy命令”这篇文章吧。Copy这...
    99+
    2022-10-19
  • python如何使用Map命令
    这篇文章给大家分享的是有关python如何使用Map命令的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Map这是一个可以进行简单数据转换的命令。首先定义一个字典,其中'k...
    99+
    2022-10-19
  • 如何退出python命令行
    两种方法 1. 在">>>" 命令行状态输入 quit()并按回车 2.在 ">>>"命令行状态输入 ctrl+Z 并按回车 ...
    99+
    2023-01-31
    命令行 python
  • 如何在DOS命令行中使用HaoZip命令压缩文件
    如何在DOS命令行中使用HaoZip命令压缩文件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。配置环境变量右键我的电脑——属性——高级系统设置——高级——环境变量,在系统变...
    99+
    2023-06-08
  • Linux中如何使用命令行补全
    这篇文章主要为大家展示了“Linux中如何使用命令行补全”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中如何使用命令行补全”这篇文章吧。在 Linux 系统中,当你输入一个命令,再按两...
    99+
    2023-06-16
  • Linux中如何使用命令行别名
    这篇文章主要为大家展示了“Linux中如何使用命令行别名”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中如何使用命令行别名”这篇文章吧。Linux命令行别名非常适合帮助你提高工作效率。...
    99+
    2023-06-16
  • 如何在shell中使用expect命令进行远程执行命令脚本
    如何在shell中使用expect命令进行远程执行命令脚本?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。expect是用来实现自动交互功能的工具之一,使用expect-send...
    99+
    2023-06-09
  • Python 中使用 argparse 解析命令行参数
    目录1、Python 中的参数解析2、类型3、子命令4、程序架构使用 argparse 模块为应用程序设置命令行选项。 有一些第三方库用于命令行解析,但标准库 argparse 与之...
    99+
    2022-11-12
  • 详解Python中命令行参数argparse的常用命令
    目录1、参数个数控制2、参数互斥3、子命令1、参数个数控制 parser.add_argument('-i', '--integers', nargs='', const=100, ...
    99+
    2023-01-29
    Python argparse常用命令 Python argparse命令 Python argparse
  • 如何在 Linux 命令行中运行 Python 脚本?
    Python 是一种高级编程语言,被广泛应用于数据科学、机器学习、Web 开发等领域。在 Linux 操作系统中,Python 是一个默认安装的解释器,用户可以通过命令行界面(CLI)来运行 Pyth...
    99+
    2023-09-02
    python linux 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作