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 元类使用说明
Dec 18 Python
跟老齐学Python之print详解
Sep 28 Python
python3.5 tkinter实现页面跳转
Jan 30 Python
python 函数内部修改外部变量的方法
Dec 18 Python
face++与python实现人脸识别签到(考勤)功能
Aug 28 Python
Python 音频生成器的实现示例
Dec 24 Python
python单例设计模式实现解析
Jan 07 Python
在 Linux/Mac 下为Python函数添加超时时间的方法
Feb 20 Python
计算Python Numpy向量之间的欧氏距离实例
May 22 Python
使用Python文件读写,自定义分隔符(custom delimiter)
Jul 05 Python
Python在线和离线安装第三方库的方法
Oct 31 Python
拒绝盗图!教你怎么用python给图片加水印
Jun 04 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 高级课程笔记 面向对象
2009/06/21 PHP
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
2013/06/18 PHP
PHP如何将log信息写入服务器中的log文件
2015/07/29 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
2020/05/26 PHP
firefox浏览器下javascript 拖动层效果与原理分析代码
2007/12/04 Javascript
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
javascript中this的四种用法
2015/05/11 Javascript
解决JS请求服务器gbk文件乱码的问题
2015/10/16 Javascript
jQuery实现的左右移动焦点图效果
2016/01/14 Javascript
微信小程序的动画效果详解
2017/01/18 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
浅谈pc端rem字体设置的问题
2017/08/03 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
2017/11/03 Javascript
three.js搭建室内场景教程
2018/12/30 Javascript
Vue中JS动画与Velocity.js的结合使用
2019/02/13 Javascript
ES6入门教程之let、const的使用方法
2019/04/13 Javascript
将pandas.dataframe的数据写入到文件中的方法
2018/12/07 Python
numpy按列连接两个维数不同的数组方式
2019/12/06 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
HTML5单页面手势滑屏切换原理分析
2017/07/10 HTML / CSS
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
美工的岗位职责
2013/11/14 职场文书
大学生如何写自荐信
2014/01/08 职场文书
税务干部鉴定材料
2014/02/11 职场文书
音乐教师求职信
2014/06/28 职场文书
班级读书活动总结
2014/06/30 职场文书
离婚协议书范文2015
2015/01/26 职场文书
毕业生的自我鉴定表范文
2019/05/16 职场文书
导游词之杭州西湖
2019/09/19 职场文书
Java面试题冲刺第十九天--数据库(4)
2021/08/07 Java/Android
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js