news 2026/5/1 5:09:07

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/4/23 16:43:52

原神帧率解锁工具使用指南:如何轻松突破60帧限制

原神帧率解锁工具使用指南&#xff1a;如何轻松突破60帧限制 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 《原神》作为一款画面精美的大型开放世界游戏&#xff0c;默认60帧的帧率限制…

作者头像 李华
网站建设 2026/4/28 18:08:59

XHS-Downloader:小红书内容智能采集与高效管理解决方案

XHS-Downloader&#xff1a;小红书内容智能采集与高效管理解决方案 【免费下载链接】XHS-Downloader 免费&#xff1b;轻量&#xff1b;开源&#xff0c;基于 AIOHTTP 模块实现的小红书图文/视频作品采集工具 项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader …

作者头像 李华
网站建设 2026/4/23 10:12:20

小米运动步数自动化管理方案实战指南

小米运动步数自动化管理方案实战指南 【免费下载链接】mimotion 小米运动刷步数&#xff08;微信支付宝&#xff09;支持邮箱登录 项目地址: https://gitcode.com/gh_mirrors/mimo/mimotion 还在为每日运动数据不达标而烦恼&#xff1f;mimotion项目提供了一套完整的自动…

作者头像 李华
网站建设 2026/4/26 13:13:28

一文说清二极管如何提升工业电源效率

二极管不只是“单向阀”&#xff1a;如何用它撬动工业电源效率的跃升&#xff1f;在一间现代化的工厂里&#xff0c;成百上千台自动化设备日夜运转——PLC控制着产线节奏&#xff0c;伺服电机精准驱动机械臂&#xff0c;变频器调节着风机水泵的能耗。这些系统的“心脏”&#x…

作者头像 李华
网站建设 2026/4/30 20:45:51

原神帧率解锁技术:突破60FPS限制的专业解决方案

原神帧率解锁技术&#xff1a;突破60FPS限制的专业解决方案 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 在现代游戏体验中&#xff0c;帧率限制往往成为硬件性能发挥的瓶颈。genshin-…

作者头像 李华
网站建设 2026/4/23 11:30:44

ComfyUI插件管理终极解决方案:告别混乱,实现300%效率提升

ComfyUI插件管理终极解决方案&#xff1a;告别混乱&#xff0c;实现300%效率提升 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 你是否曾经在ComfyUI的插件海洋中迷失方向&#xff1f;安装一个节点却导致整个工作流崩…

作者头像 李华