了解和使用python的click命令行cli工具

了解和使用python的click命令行cli工具

💡 关于通过简单的代码就能让一个python文件中的函数变成一个cli命令行工具。

安装

arduino 复制代码
pip install click

简单使用

1、创建文件

创建一个hello.py文件,代码如下:

arduino 复制代码
import click
@click.command()
def hi():    
    click.echo("Hello, World!")
    
if __name__ == '__main__':
    hi()

2、执行

如果使用@click.command()的话,那么只能有一个命令,这里我们就要用到@click.group(),声明一个组后就可以使用多个命令了,如:

python 复制代码
import click

# 1. 声明一个组
@click.group()
def cli():    
    """附件管理工具 - 支持搜索、删除等操作"""    
    pass# 
    
2. 将命令挂载到组上(使用 @cli.command 而不是 @click.command)
@cli.command()
@click.option('--name', help='文件夹名称')
def create(name):    
    """新建一个案例文件夹"""    
    click.echo(f"正在创建文件夹: {name}")
    
@cli.command()
@click.argument('keyword')
    def search(keyword):    
        """搜索指定的附件"""    
        click.echo(f"正在搜索关键字: {keyword}")

# 3. 运行组
if __name__ == '__main__':    
    cli()

如果不加命令名称运行:默认打印命令介绍。

此时就需要指定命令名运行了:此时我没有加参数运行,结果打印的文件夹名为None,加一个名称再打印:

OK!可以正常拿到参数值了。

相关推荐
李可以量化18 分钟前
Redis Client 从了解到精通(二)上:redis-py 高级用法与核心命令实战
前端·数据库·redis·python·缓存·ptrade
2601_9669496529 分钟前
如何利用 1 分钟 K 线在 14:50 精准捕捉尾盘异动?Python 量化实战:1 分钟 K 线 + 全市场扫描
开发语言·人工智能·python·量化·quantdash·量化数据源
海天一色y30 分钟前
强化学习工具函数详解:从经验回放到优势函数计算
人工智能·python·强化学习
阿图灵1 小时前
OpenCV 算术运算四件套:NOT/AND/OR 位运算与图像混合
图像处理·人工智能·python·opencv·计算机视觉·位运算
边吃番茄边敲代码1 小时前
企业智能助手Agent 安全测试,包含Prompt Injection 和越权工具调用
人工智能·python·功能测试·ai·单元测试·prompt·模块测试
阿图灵1 小时前
OpenCV 阈值与模糊:全局/自适应阈值、Canny 边缘检测与三种模糊
图像处理·人工智能·python·opencv·计算机视觉·边缘检测
桃西西呀2 小时前
国内金价破 1000,「涨了多少」和「该买多少」是数学问题
人工智能·python·数据分析
张人玉2 小时前
茶树 NeRF(Neural Radiance Fields,神经辐射场)三维重建与数据分析可视化系统——基于神经辐射场的茶树三维重建方法实现可视化大屏
python·数据挖掘·数据分析·echarts·three.js
脉动数据行情12 小时前
Python WebSocket 国内商品期货|螺纹钢 & 铁矿石实时行情监听
开发语言·python·websocket
circuitsosk2 小时前
智能体任务拆解与执行:基于ReAct+Plan-and-Execute框架的行业Skill构建实录
前端·javascript·python·react.js·react·llm agent·智能体编排