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启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
Apr 09 Python
python回调函数用法实例分析
May 09 Python
Python调用C# Com dll组件实战教程
Oct 12 Python
Python中的pygal安装和绘制直方图代码分享
Dec 08 Python
理论讲解python多进程并发编程
Feb 09 Python
Python实现朴素贝叶斯的学习与分类过程解析
Aug 24 Python
python基于K-means聚类算法的图像分割
Oct 30 Python
Pytorch 中retain_graph的用法详解
Jan 07 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
python3的pip路径在哪
Jun 23 Python
Python logging模块原理解析及应用
Aug 13 Python
Python+Appium新手教程
Apr 17 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
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
apache+php+mysql安装配置方法小结
2010/08/01 PHP
php使用for语句输出三角形的方法
2015/06/09 PHP
Thinkphp+smarty+uploadify实现无刷新上传
2015/07/30 PHP
php传值方式和ajax的验证功能
2017/03/27 PHP
PHP编程获取各个时间段具体时间的方法
2017/05/26 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
Webkit的跨域安全问题说明
2011/09/13 Javascript
javascript 中String.match()与RegExp.exec()的区别说明
2013/01/10 Javascript
修改file按钮的默认样式实现代码
2013/04/23 Javascript
Jquery在指定DIV加载HTML示例代码
2014/02/17 Javascript
判断iframe里的页面是否加载完成
2014/06/06 Javascript
JS实现仿京东淘宝竖排二级导航
2014/12/08 Javascript
JavaScript实现添加、查找、删除元素
2015/07/02 Javascript
jQuery实现仿腾讯迷你首页选项卡效果代码
2015/09/17 Javascript
基于javascript实现按圆形排列DIV元素(三)
2016/12/02 Javascript
layui弹出层效果实现代码
2017/05/19 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
input框中自动展示当前日期yyyy/mm/dd的实现方法
2017/07/06 Javascript
Javascript中将变量转换为字符串的三种方法
2017/09/19 Javascript
js中自定义react数据验证组件实例详解
2018/10/19 Javascript
在Layui中操作数据表格,给指定单元格添加事件示例
2019/10/26 Javascript
JS手写一个自定义Promise操作示例
2020/03/16 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
2021/02/24 Javascript
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
Python的Django框架中if标签的相关使用
2015/07/15 Python
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
简述网络文件系统NFS,并说明其作用
2016/10/19 面试题
简单说下OSPF的操作过程
2014/08/13 面试题
什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
2013/07/26 面试题
员工培训心得体会
2013/12/30 职场文书
幼儿园毕业典礼主持词
2014/03/21 职场文书
市场营销专业毕业生求职信
2014/03/26 职场文书
作风整顿剖析材料
2014/09/30 职场文书
2016新年晚会开场白
2015/12/03 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书