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();

相关文章
|
Kubernetes 网络协议 数据安全/隐私保护
Kubernetes 的核心概念:Pod、Service 和 Namespace 解析
Kubernetes 的核心概念:Pod、Service 和 Namespace 解析
1019 1
|
存储 缓存 对象存储
利用云存储网关在Windows上挂载OSS
概述 阿里云OSS提供了海量低成本高可靠的对象存储,非常适合于存储文件,图像,视频等非结构化数据,同时也提供了丰富的SDK生态给开发者集成使用。但是对于开发资源有限的小企业或者个人用户而言,直接使用OSS存储还是存在诸多不便。
11028 1
利用云存储网关在Windows上挂载OSS
|
11月前
|
弹性计算 监控 网络协议
自动化AutoTalk第十二期-使用Terraform高效实现云自动化
《自动化AutoTalk第十二期》聚焦使用Terraform高效实现云自动化。内容涵盖IaC(基础设施即代码)概述、Terraform简介与核心组件、实现云自动化步骤及最佳实践。通过Terraform的统一编排语言HCL和对资源生命周期管理,结合CI/CD流程,实现云资源的自服务管理。强调了Terraform在环境准备、业务集成、生产配置及持续监控中的应用,并分享了结合GitLab/GitHub进行代码托管和流程标准化的最佳实践。
337 9
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
3088 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
机器学习/深度学习 编解码 缓存
阿里云服务器计算型c5/c6/c7/c8y和通用型g5/g6/g7/g8y四代实例对比与选择参考
阿里云服务器的所有实例规格中,计算型和通用型是用户选择最多的,计算型实例主要适用于网站应用、批量计算、视频编码等各种类型和规模的企业级应用。通用型实例则主要适用于中小型数据库系统、缓存、搜索集群等各种类型的企业级应用等场景。阿里云服务器的计算型和通用型实例也经过了多代升级,阿里云不断推出新一代的云服务器产品以满足不同用户的需求。本文将详细对比阿里云计算型c5、c6、c7、c8y以及通用型g5、g6、g7、g8y四代云服务器实例,帮助用户更好地了解这些产品的特性和适用场景,以供选择和参考。
阿里云服务器计算型c5/c6/c7/c8y和通用型g5/g6/g7/g8y四代实例对比与选择参考
|
存储 移动开发 定位技术
HTML5 Geolocation(地理定位)优化到最高精度
HTML5 Geolocation API 可让网页访问用户的地理位置信息。为优化地理定位精度,需考虑设备、浏览器设置、网络状况及编码实现。使用 `enableHighAccuracy` 选项请求高精度,并确保设备开启 GPS,网络良好。结合多种数据源(如 GPS、Wi-Fi)可提高准确性。利用 `watchPosition` 定期更新位置,并妥善处理定位错误。务必遵循用户隐私原则,获取同意并遵守相关法规。这样可有效提升地理定位的精度与用户体验。
|
资源调度 搜索推荐 Shell
使用VitePress静态网站生成器创建组件库文档网站并部署到GitHub
本文介绍了如何使用 Vue3、TypeScript 和 Vite 开发组件库并将其发布到 npm。文章详细描述了安装依赖、配置项目、创建文档网站以及编写组件文档的步骤。通过使用 VitePress,可以轻松搭建组件库的文档站点,并实现 Algolia 搜索功能。此外,还提供了自动化脚本用于部署静态网站至 GitHub 以及发布组件库到 npm。最后,展示了完整的目录结构和网站效果。
582 1
使用VitePress静态网站生成器创建组件库文档网站并部署到GitHub
|
NoSQL 安全 Redis
AWS迁移教程,Redis迁移到Elasticache
AWS迁移教程,Redis迁移到Elasticache
|
存储 Kubernetes Java
在k8S中,容器内日志是怎么采集的?
在k8S中,容器内日志是怎么采集的?
|
人工智能 算法 PyTorch
YOLO的版本及进阶历史
YOLO的版本及进阶历史