了解和使用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!可以正常拿到参数值了。

相关推荐
benchmark_cc3 小时前
如何用 Python + QuantDash 快速构建高胜率“配对交易(Pairs Trading)”策略?
开发语言·人工智能·python·pandas·量化交易·quantdash
Python+994 小时前
Java 枚举类(Enum)详解:从基础到高级应用
java·开发语言·python
dunge20265 小时前
2026年7月最新ChatGPT Plus / Pro 与 Codex:当 AI Agent 最新5.6版本来袭,必须理解事务、幂等与补偿
开发语言·人工智能·python
小白学大数据7 小时前
两周完成爬虫技术栈升级:Scrapy 迁移 Crawlo 的路径与取舍
爬虫·python·scrapy
用户8356290780517 小时前
使用 Python 在 Excel 中添加和自定义文本框
后端·python
总裁余(余登武)7 小时前
python多个py文件打包【解决exe不能移动运行bug】
python
kisloy8 小时前
【python零基础教程第24讲】代码规范与质量管控
开发语言·python
xywww1688 小时前
AWS 账号权限怎么分:根用户和 IAM 用户区别及日常使用建议
大数据·开发语言·人工智能·python·gpt·云计算·aws
许彰午10 小时前
100_Python面试常见问题汇总
java·python·面试
皓悦编程记10 小时前
【YOLO26 系列】基于YOLO26的垃圾分类检测系统【python源码+Pyqt5界面/WEB+数据集+训练代码】
python·qt·分类