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

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

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

安装

复制代码
pip install click

简单使用

1、创建文件

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

复制代码
import click

@click.command()
def hi():
    click.echo("Hello, World!")

if __name__ == '__main__':
    hi()
2、执行

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

复制代码
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!可以正常拿到参数值了。

相关推荐
benchmark_cc13 分钟前
策略临时需要一批股票的最新价格,先查行情还是先建股票池?——从量化策略执行逻辑看数据获取顺序
python·数据分析·pandas·量化交易·股票数据·quantdash
成为深度学习高手15 分钟前
XLinear:用一个轻量 MLP,带外生变量做长期时间序列预测
python·深度学习·时序数据库
事已至此先睡覺吧21 分钟前
第三篇:Java 流程控制详解:条件判断、循环与跳转语句
java·开发语言
啊吧怪不啊吧29 分钟前
LangChain之模型调用
python·langchain
m0_7345717630 分钟前
深入理解5g <二十> dmrs
开发语言·5g
溪语流沙30 分钟前
Django + Vue电商项目第001讲:开篇|注册登录加增删改查,那不是电商
redis·python·mysql·docker·typescript·django·vue
夜雪一千40 分钟前
如何使用BeautifulSoup库来提取HTML中的特定元素
python
IT毕设梦工厂1 小时前
计算机毕业设计选题推荐:基于大数据的城市空气污染物浓度数据分析与可视化|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·python·信息可视化·数据挖掘·数据分析·课程设计·数据可视化
程序员阿黄1 小时前
基于 Django 与 Vue 3 的智能实验室预约系统设计与实现
后端·python·mysql·django·vue·毕设
金金计较.1 小时前
Go语言-4
开发语言·golang