news 2026/2/14 1:10:31

Python命令行工具Click

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/13 10:49:57

如何在macOS上完美运行ComfyUI-Manager?终极兼容性实战指南

如何在macOS上完美运行ComfyUI-Manager&#xff1f;终极兼容性实战指南 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 你是否在macOS上安装ComfyUI-Manager时反复遭遇依赖冲突、节点加载失败或命令执行错误&#xff…

作者头像 李华
网站建设 2026/2/13 15:25:12

XHS-Downloader终极指南:轻松下载小红书无水印内容

XHS-Downloader终极指南&#xff1a;轻松下载小红书无水印内容 【免费下载链接】XHS-Downloader 免费&#xff1b;轻量&#xff1b;开源&#xff0c;基于 AIOHTTP 模块实现的小红书图文/视频作品采集工具 项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader 想…

作者头像 李华
网站建设 2026/2/13 2:45:36

SketchUp STL插件:从3D设计到实体打印的5个高效秘诀

SketchUp STL插件&#xff1a;从3D设计到实体打印的5个高效秘诀 【免费下载链接】sketchup-stl A SketchUp Ruby Extension that adds STL (STereoLithography) file format import and export. 项目地址: https://gitcode.com/gh_mirrors/sk/sketchup-stl SketchUp STL…

作者头像 李华
网站建设 2026/2/13 13:35:05

ComfyUI模型路径配置终极指南:3步解决工作流验证失败问题

ComfyUI模型路径配置终极指南&#xff1a;3步解决工作流验证失败问题 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 在AI绘画创作过程中&#xff0c;你是否遇到过这样的困扰&#xff1a;明明模型文件已经下载完成&am…

作者头像 李华
网站建设 2026/2/8 13:08:35

HarmonyOS应用开发—页面路由

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-router-V5 路由简介&#xff1a; 普通用户&#xff1a;网址 开发人员&#xff1a;域名 》延伸知识点 域名价格 65左右、域名后缀 com商业/cn中国/net网络供应商/edu教育/org非营利性/it意大利…

作者头像 李华
网站建设 2026/2/9 0:18:28

大文件上传:秒传、断点续传、分片上传

大文件上传&#xff1a;秒传、断点续传、分片上传 文章目录大文件上传&#xff1a;秒传、断点续传、分片上传前言一、大文件上传的挑战二、秒传三、分片上传四、断点续传总结前言 大文件上传是 Web 开发中高频且复杂的需求&#xff0c;核心痛点集中在传输稳定性、效率、服务器…

作者头像 李华