当前位置: 首页 > news >正文

Python命令行工具Click

Python 命令行工具-Click

命令行工具click的编译指南

1-妇女之友-click

1-脚本代码

importclick# 导入click库,用于创建命令行界面@click.command()# 使用click装饰器将函数标记为命令行命令@click.argument("name")# 定义位置参数name,用户必须提供@click.option("-a","--age",type=int,help="你的年龄")# 定义可选参数age,类型为整数,并提供帮助信息defgreet(name,age):"""一个简单的命令行工具"""click.echo(f"你好,{name}!")# 使用click.echo输出问候语,比print更兼容ifage:# 如果提供了age参数click.echo(f"你今年{age}岁了。")# 输出年龄信息if__name__=="__main__":# 当脚本直接运行时执行greet()# 调用greet函数启动命令行程序

2-直接测试

# 基本用法(base)MacBook-Pro:python_setup_demo rong$ python click_simple.py 张三 你好,张三!# 带可选参数(base)MacBook-Pro:python_setup_demo rong$ python click_simple.py 张三 --age25你好,张三! 你今年25岁了。# 查看帮助(base)MacBook-Pro:python_setup_demo rong$ python click_simple.py --help Usage: click_simple.py[OPTIONS]NAME 一个简单的命令行工具 Options: -a, --age INTEGER 你的年龄 --help Show this message and exit.

3-安装测试

# 1-安装包(base)MacBook-Pro:python_setup_demo rong$ pipinstall.Lookinginindexes: https://pypi.tuna.tsinghua.edu.cn/simple Processing /Users/rong/Documents/EnzoApplication/WorkSpace/Python/20251222_Python_Setup/python_setup_demo02 Preparing metadata(setup.py)...doneRequirement already satisfied: click>=8.0.0in/Applications/0ENZO/Installs/anaconda3/anaconda3/lib/python3.10/site-packages(from python-cli-examples==1.0.0)(8.0.4)Requirement already satisfied: fire>=0.4.0in/Applications/0ENZO/Installs/anaconda3/anaconda3/lib/python3.10/site-packages(from python-cli-examples==1.0.0)(0.7.1)Requirement already satisfied: termcolorin/Applications/0ENZO/Installs/anaconda3/anaconda3/lib/python3.10/site-packages(from fire>=0.4.0->python-cli-examples==1.0.0)(3.2.0)Building wheelsforcollected packages: python-cli-examples Building wheelforpython-cli-examples(setup.py)...doneCreated wheelforpython-cli-examples:filename=python_cli_examples-1.0.0-py3-none-any.whlsize=3088sha256:1e38d417b4c61a60b3acf3ecc8babb938f239f182dbd9b86b67640089ab52861 Storedindirectory: /private/var/folders/kt/jy68vj1523dclg3py07q6zxc0000gn/T/pip-ephem-wheel-cache-5u7bw0u5/wheels/3d/19/5b/66b6bb4de747fb17d2199f8aa5945077a5084fa9a196f1092c Successfully built python-cli-examples Installing collected packages: python-cli-examples Successfully installed python-cli-examples-1.0.0# 2-测试argparse命令(base)MacBook-Pro:python_setup_demo rong$ argparse-demo 测试用户 --age30--city 上海 正在执行 argparse 示例程序... 你好,测试用户! 你今年30岁了。 你正值壮年! 你来自上海# 3-测试click命令(base)MacBook-Pro:python_setup_demo rong$ click-demo 张三 --age25你好,张三! 你今年25岁了。# 4-验证两个命令都已安装(base)MacBook-Pro:python_setup_demo rong$whichargparse-demo /Applications/0ENZO/Installs/anaconda3/anaconda3/bin/argparse-demo(base)MacBook-Pro:python_setup_demo rong$whichclick-demo /Applications/0ENZO/Installs/anaconda3/anaconda3/bin/click-demo# 5-卸载包(base)MacBook-Pro:python_setup_demo rong$ pip uninstall python-cli-examples Found existing installation: python-cli-examples1.0.0 Uninstalling python-cli-examples-1.0.0: Would remove: /Applications/0ENZO/Installs/anaconda3/anaconda3/bin/argparse-demo /Applications/0ENZO/Installs/anaconda3/anaconda3/bin/click-demo /Applications/0ENZO/Installs/anaconda3/anaconda3/lib/python3.10/site-packages/argparse_01_simple.py /Applications/0ENZO/Installs/anaconda3/anaconda3/lib/python3.10/site-packages/click_simple.py /Applications/0ENZO/Installs/anaconda3/anaconda3/lib/python3.10/site-packages/python_cli_examples-1.0.0.dist-info/* Proceed(Y/n)? y Successfully uninstalled python-cli-examples-1.0.0

4-Click库优势

相比argparse,Click库具有以下优势:

  1. 装饰器语法:代码更简洁易读
  2. 类型提示:自动处理参数类型转换
  3. 帮助信息:自动生成完整的帮助文档
  4. 错误处理:内置更好的错误提示
  5. 可扩展性:支持子命令和复杂的应用结构

5-项目结构更新

python_setup_demo02/ ├── setup.py # 包配置文件(已更新支持两个工具) ├── argparse_01_simple.py # argparse示例脚本 ├── click_simple.py # click示例脚本 └── BUILD_GUIDE.md # 本编译指南(已更新)

6-支持的所有命令

安装后支持两个命令行工具:

  • argparse-demo: 基于argparse库的演示工具

    • 用法:argparse-demo <name> [options]
    • 支持: --age, --city, --verbose, --version
  • click-demo: 基于click库的演示工具

    • 用法:click-demo <name> [options]
    • 支持: --age

http://www.zskr.cn/news/136817.html

相关文章:

  • XHS-Downloader核心技术解析:突破小红书API安全机制的技术实现
  • Jasminum插件生态整合:构建智能科研文献管理平台
  • 千万不能选错!这5款实验室操作台让你事半功倍
  • Windows清理大师:一键释放C盘空间的终极方案
  • Windows平台Arduino IDE驱动安装避坑指南
  • C语言字符串函数介绍以及模拟实现
  • TranslucentTB 终极指南:打造透明任务栏的完整解决方案
  • XHS-Downloader:小红书内容下载的完整指南与高效解决方案
  • 怎样快速掌握BGE大模型:面向新手的5个秘诀
  • 2025年值得关注的GEO服务商TOP榜单:优势特点与适用场景分析 - 深度智识库
  • C语言内存函数介绍和模拟实现
  • 词库迁移革命:智能转换工具让输入法切换零烦恼
  • 2025常州GEO优化公司精选:AI驱动下的精准获客服务商指南 - 品牌推荐排行榜
  • HarmonyOS简易个人信息管理助手
  • Qt - TCP传输数据
  • Windows Cleaner:专业解决C盘空间不足的完整系统优化方案
  • 小米运动自动数据同步方案:3分钟搞定多平台步数更新
  • BBDown终极指南:轻松下载B站视频的完整教程
  • vivado2018.3安装步骤从零实现:适合入门者的实践指导
  • 炉石传说佣兵战记自动化脚本完整指南:3步告别重复劳动
  • Windows系统清理实战:从C盘爆红到流畅运行的蜕变指南
  • 如何用AI助手彻底告别游戏重复操作:5分钟快速上手指南
  • 深蓝词库转换:如何轻松实现不同输入法词库格式互通
  • 三月七小助手终极自动化工具:智能托管你的星穹铁道游戏日常
  • ComfyUI-Manager环境配置完全指南:从零搭建稳定运行环境
  • 小米运动刷步神器:微信支付宝自动同步终极指南
  • Windows远程桌面功能扩展:解锁多用户并发连接特性
  • MacBook党必看!ComfyUI-Manager在苹果电脑上的完美配置攻略
  • 跨平台词库转换工具技术解析与应用实践
  • 深蓝词库转换工具:彻底解决输入法词库迁移难题