Python中强大的命令行库click入门教程


Posted in Python onDecember 26, 2016

前言

我们的游戏资源处理工具是Python实现的,功能包括csv解析,UI材质处理,动画资源解析、批处理,Androd&iOS自动打包等功能。该项目是由其他部门继承过来的,由于绝大部分代码不符合我们的业务需求,所以进行了大重构。删除了所有业务代码,仅保留了python代码框架。项目中命令行参数解析是自己实现的,极其不优雅,也忍了这么久。打算找时间用click重写。所以最近学习了click,下面本文的内容是click的入门教程,初学者们可以来一起学习学习。

官网镜像地址: http://click.uoota.com/6/

支持:

  1. 命令的任意嵌套
  2. 自动生成帮助信息
  3. 支持在运行时子命令的延迟加载

安装方法是使用 pip:

pip install click

下面一小段代码是其官方主页的例子,贴出来下:

import click
 
@click.command()
@click.option('--count', default=1, help='Number of greetings.')
@click.option('--name', prompt='Your name',
    help='The person to greet.')
def hello(count, name):
 """Simple program that greets NAME for a total of COUNT times."""
 for x in range(count):
  click.echo('Hello %s!' % name)
 
if __name__ == '__main__':
 hello()

运行:

$ python hello.py --count=3
Your name: John
Hello John!
Hello John!
Hello John!

查看帮助信息:

$ python hello.py --help
Usage: hello.py [OPTIONS]
 
 Simple program that greets NAME for a total of COUNT times.
 
Options:
 --count INTEGER Number of greetings.
 --name TEXT  The person to greet.
 --help   Show this message and exit.

总结

以上就是介绍Python中命令行工具click的安装与使用的全部内容了,希望本文的内容对大家学习或者使用python能带来一定的帮助,如果有疑问大家可以留言交流。

Python 相关文章推荐
十条建议帮你提高Python编程效率
Feb 16 Python
python中requests和https使用简单示例
Jan 18 Python
Python遍历某目录下的所有文件夹与文件路径
Mar 15 Python
Pycharm设置界面全黑的方法
May 23 Python
python用opencv批量截取图像指定区域的方法
Jan 24 Python
基于wxPython的GUI实现输入对话框(1)
Feb 27 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
Jul 03 Python
python实现二分类的卡方分箱示例
Nov 22 Python
Matplotlib绘制雷达图和三维图的示例代码
Jan 07 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
May 20 Python
Keras自定义实现带masking的meanpooling层方式
Jun 16 Python
基于Python爬取素材网站音频文件
Oct 21 Python
Python快速从注释生成文档的方法
Dec 26 #Python
浅谈Python类的__getitem__和__setitem__特殊方法
Dec 25 #Python
解决pyqt中ui编译成窗体.py中文乱码的问题
Dec 23 #Python
详解python进行mp3格式判断
Dec 23 #Python
详解python发送各类邮件的主要方法
Dec 22 #Python
详解python 发送邮件实例代码
Dec 22 #Python
使用Python3 编写简单信用卡管理程序
Dec 21 #Python
You might like
PHP中的生成XML文件的4种方法分享
2012/10/06 PHP
谈谈关于php的优点与缺点
2013/04/11 PHP
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
JavaScript的9种继承实现方式归纳
2015/05/18 Javascript
深入探讨前端框架react
2015/12/09 Javascript
JS使用JSON作为参数实例分析
2016/06/23 Javascript
移动端js图片查看器
2016/11/17 Javascript
vue bootstrap小例子一枚
2017/06/09 Javascript
js实现上传并压缩图片效果
2018/01/10 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
angularjs 缓存的使用详解
2018/03/19 Javascript
小程序自动化测试的示例代码
2020/08/11 Javascript
[07:38]2014DOTA2国际邀请赛 Newbee顺利挺进胜者组赛后专访
2014/07/15 DOTA
python简单实现旋转图片的方法
2015/05/30 Python
用tensorflow构建线性回归模型的示例代码
2018/03/05 Python
Python网络编程使用select实现socket全双工异步通信功能示例
2018/04/09 Python
Sanic框架基于类的视图用法示例
2018/07/18 Python
利用ImageAI库只需几行python代码实现目标检测
2019/08/09 Python
Python轻量级web框架bottle使用方法解析
2020/06/13 Python
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
Java面试题:Java类的Main方法如果是Private将会怎么样
2016/08/18 面试题
医药销售求职信范文
2014/02/01 职场文书
数控个人求职信范文
2014/02/03 职场文书
公司活动总结怎么写
2014/06/25 职场文书
合作协议书模板
2014/10/10 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
表彰大会新闻稿
2015/07/17 职场文书
2016年全国助残日活动总结
2016/04/01 职场文书
甜美蛋糕店的创业计划书模板,拿来即用!
2019/08/21 职场文书
JS Object构造函数之Object.freeze
2021/04/28 Javascript
Python之基础函数案例详解
2021/08/30 Python
基于Apache Hudi在Google云构建数据湖平台的思路详解
2022/04/07 Servers