Click使用|学习笔记

简介: 快速学习Click使用

开发者学堂课程【Python 脚本进阶Click使用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/797



Click使用

Click命令行工具(目录)

一、 Click介绍

二、 Click快速开始

三、 Click参数

四、 Click选项

五、 Click用户输入

一、Click介绍

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

●Click具备以下三个特性

1、任意嵌套命令
2、自动生成帮助

3、支持运行时坚持加载子命令

Click快速开始

image.png
image.png

二、Click定义可选选项Option

●在Click中,可以使用dick .option来定义选项

●option 中设置default为默认选项
●option 中设置help为帮助信息
●option 设置type为数据类型
●option 设置hide_input 可以隐藏输入
●option 设置confirmation_prompt可以脸证输入

image.png

●option 设置nargs表示接受多个值

import· click

@click . command()
@click. option('-- count' , default=1, type= int, help="your· countl")

def. hello(count):
· · · ·click. echo (count)
···· · · ·click. echo ("hello·world") ;

if ·_ name_ · = · ` _ main_`;

···· · · ·hello();

三、Click定义参数Argument

●在Click中,可以使用dick.argument来定义参数

●argument 设置nargs 表示接受多个值
●argument 设置type设定格式
●argument 设置type为click File支持对文件操作

image.png

四、Click接受的参数类型

●Click 可以接受以下类型数据作为参数

●str : 字符串
●int : 数值
● float : 浮点數

●bool : 布尔值
● click.JUID : UUID值
●clickFile : 文件类型
● click.Path : 文件路径类型
●click.Choice : 可选项类型
●click.IntRange : 数值可选范围
●click.FloatRange : 浮点数可选范围

●click.DateTime : 时间

import· click

@click. command()
@click. argument( ' action', type=str)
@click. option(' -- ocount' , type=int, default=1)

def· hello (action, ocount) :
···· · · ·click. echo (action)
···· · · ·click. echo (ocount)
···· · · ·click . echo ("hello . world");

if ·_ name_ · = · ` _ main_`;

···· · · ·hello();

五、Click获取用户输入Prompt

●Click 提供了dick.prompt要求用户输入

●Click 提供了dlick.confirm要求用户确认

import· click

@click . command ( )
def· hello():
···· · · ·count·=· click . prompt ("please . input·a·int", type=int)

···· · · ·click . echo (count)
···· · · ·click. echo ("hello· world");
···· · · ·if· click. confirm(" do . you· want . to· continue"):
········ · · ·· · · ·click. echo("done")

if ·_ name_ · = · ` _ main_`;

···· · · ·hello();

相关文章
|
数据采集 缓存 安全
隐语小课|非平衡隐私集合求交(Unbalanced PSI)协议介绍
隐语小课|非平衡隐私集合求交(Unbalanced PSI)协议介绍
1415 0
|
物联网 测试技术 API
LLM 大模型学习必知必会系列(九):Agent微调最佳实践,用消费级显卡训练属于自己的Agent!
LLM 大模型学习必知必会系列(九):Agent微调最佳实践,用消费级显卡训练属于自己的Agent!
LLM 大模型学习必知必会系列(九):Agent微调最佳实践,用消费级显卡训练属于自己的Agent!
|
11月前
|
人工智能 数据可视化 开发者
FlowiseAI:34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
FlowiseAI 是一款开源的低代码工具,通过拖拽可视化组件,用户可以快速构建自定义的 LLM 应用程序,支持多模型集成和记忆功能。
1002 14
FlowiseAI:34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
|
监控 安全 网络安全
防火墙和入侵检测系统
【8月更文挑战第16天】
834 1
ly~
|
缓存 监控 编译器
如何优化 SDL 图形库在不同系统中的性能
SDL(Simple DirectMedia Layer)是一个跨平台的多媒体开发库,用于优化不同系统中的图形库性能。在银河麒麟系统中,通过SDL渲染模式提升视频监控客户端性能,支持更多播放路数。优化方法包括:1) 图像加载时使用SDL_ConvertSurface转换图像格式,避免内存中存在多份拷贝;2) 在VSCode下配置SDL时,合理设置编译器选项和项目架构,减少API调用带来的性能开销;3) 使用SDL库在景嘉微7200显卡上优化渲染性能,提高播放路数。综合考虑图像加载优化、系统特性利用及硬件兼容性,以实现最佳性能。
ly~
825 6
|
Java 编译器 数据安全/隐私保护
Java 重写(Override)与重载(Overload)详解
在 Java 中,重写(Override)和重载(Overload)是两个容易混淆但功能和实现方式明显不同的重要概念。重写是在子类中重新定义父类已有的方法,实现多态;重载是在同一类中定义多个同名但参数不同的方法,提供多种调用方式。重写要求方法签名相同且返回类型一致或为父类子类关系,而重载则关注方法参数的差异。理解两者的区别有助于更好地设计类和方法。
1089 3
|
人工智能 API UED
🔍语言无界,沟通无阻:AI翻译技术,让职场国际交流零障碍!
【8月更文挑战第1天】全球化驱动跨国合作,但语言障碍影响交流效率。AI翻译技术突破此限制,实现实时多语种翻译,如会议中即时将发言转为所需语言,确保无障碍沟通。此外,AI能根据上下文精准翻译,避免误解。通过持续学习,AI翻译质量不断提升。这项技术打破语言壁垒,促进文化融合,未来将进一步优化职场国际交流,推动全球化进程。
393 0
|
前端开发 安全 Linux
【虚拟化】典型虚拟化系统
【虚拟化】典型虚拟化系统
326 0
|
机器学习/深度学习 人工智能 自然语言处理
Agent AI智能体的未来角色、发展路径及其面临的挑战
Agent AI智能体的未来角色、发展路径及其面临的挑战
669 0
将PC微信本地文件从MsgAttach文件夹转移回原先的File文件夹-更加智能
微信做了啥我不想多说了,如果你觉得目录难找,可以使用我的程序 这是我对网上程序的更改,因为有长达2个月的附件,进行了2个月的归档,网上只能全迁移到6月份文件夹,我觉得不爽
620 0