news 2026/6/10 21:44:05

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/6/10 0:54:34

ComfyUI-Manager升级指南:零风险平滑迁移方案

ComfyUI-Manager升级指南&#xff1a;零风险平滑迁移方案 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 还在为ComfyUI-Manager版本升级而烦恼吗&#xff1f;作为ComfyUI生态中不可或缺的扩展管理工具&#xff0c;Co…

作者头像 李华
网站建设 2026/6/10 19:44:52

输入法词库迁移终极指南:一键实现跨平台词库转换

输入法词库迁移终极指南&#xff1a;一键实现跨平台词库转换 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 还在为更换输入法时丢失精心积累的个性化词库而烦恼吗&a…

作者头像 李华
网站建设 2026/6/10 9:14:26

MTKClient完全攻略:解锁联发科设备的无限可能

MTKClient完全攻略&#xff1a;解锁联发科设备的无限可能 【免费下载链接】mtkclient MTK reverse engineering and flash tool 项目地址: https://gitcode.com/gh_mirrors/mt/mtkclient 你是否曾经因为联发科设备的复杂调试流程而感到困扰&#xff1f;面对各种技术门槛…

作者头像 李华
网站建设 2026/6/10 1:37:40

ComfyUI节点离线安装全攻略:10个常见问题解决方案

ComfyUI节点离线安装全攻略&#xff1a;10个常见问题解决方案 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 你是否曾经因为网络不稳定而无法安装ComfyUI节点&#xff1f;或者在无网络环境下急需部署自定义节点&…

作者头像 李华
网站建设 2026/6/10 9:14:42

ComfyUI-Manager MacOS配置实战:从问题到完美运行

ComfyUI-Manager MacOS配置实战&#xff1a;从问题到完美运行 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 你是否在MacOS上安装ComfyUI-Manager时&#xff0c;被各种依赖冲突、编译错误和节点加载问题困扰&#xf…

作者头像 李华