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 相关文章推荐
下载安装setuptool和pip linux安装pip    
Jan 24 Python
python单线程实现多个定时器示例
Mar 30 Python
rabbitmq(中间消息代理)在python中的使用详解
Dec 14 Python
TensorFlow高效读取数据的方法示例
Feb 06 Python
Python简单爬虫导出CSV文件的实例讲解
Jul 06 Python
在PyCharm导航区中打开多个Project的关闭方法
Jan 17 Python
python通过paramiko复制远程文件及文件目录到本地
Apr 30 Python
django基于restframework的CBV封装详解
Aug 08 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
Dec 04 Python
解决使用python print打印函数返回值多一个None的问题
Apr 09 Python
编写python代码实现简单抽奖器
Oct 20 Python
Python使用protobuf序列化和反序列化的实现
May 19 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
Win7下手动安装apache2.2、php5.4笔记
2015/04/03 PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
PHP中模拟链表和链表的基本操作示例
2016/02/27 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
javascript对象的property和prototype是这样一种关系
2007/03/24 Javascript
网上抓的一个特效
2007/05/11 Javascript
用js写了一个类似php的print_r输出换行功能
2013/02/18 Javascript
jQuery实现图片轮播特效代码分享
2015/09/15 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
全面解析Bootstrap手风琴效果
2020/04/17 Javascript
javascript中arguments,callee,caller详解
2016/03/16 Javascript
详解ES6中的let命令
2020/04/05 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
JS中的phototype详解
2017/02/04 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
2019/07/10 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
vue cli4下环境变量和模式示例详解
2020/04/09 Javascript
JavaScript创建表格的方法
2020/04/13 Javascript
Python验证企业工商注册码
2015/10/25 Python
Python实现字典依据value排序
2016/02/24 Python
Python递归实现汉诺塔算法示例
2018/03/19 Python
使用pandas把某一列的字符值转换为数字的实例
2019/01/29 Python
在Python中COM口的调用方法
2019/07/03 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
编程用JAVA解析XML的方式
2013/07/07 面试题
2014年高三毕业生自我评价
2014/01/11 职场文书
代办委托书怎么写
2014/08/01 职场文书
商务经理岗位职责
2014/08/03 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
优秀团员事迹材料
2014/12/25 职场文书
2015年助理工程师工作总结
2015/04/03 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
浅谈Python列表嵌套字典转化的问题
2021/04/07 Python