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 切片和range()用法说明
Mar 24 Python
Python中使用装饰器时需要注意的一些问题
May 11 Python
Pandas中把dataframe转成array的方法
Apr 13 Python
win7下python3.6安装配置方法图文教程
Jul 31 Python
Python3转换html到pdf的不同解决方案
Mar 11 Python
pybind11在Windows下的使用教程
Jul 04 Python
windows下Python安装、使用教程和Notepad++的使用教程
Oct 06 Python
Python jieba库用法及实例解析
Nov 04 Python
python中for循环变量作用域及用法详解
Nov 05 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
Jul 01 Python
详解基于python的图像Gabor变换及特征提取
Oct 26 Python
python实现ping命令小程序
Dec 28 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生成EXCEL的东东
2006/10/09 PHP
php下关于Cannot use a scalar value as an array的解决办法
2010/08/08 PHP
PHP日期处理函数 整型日期格式
2011/01/12 PHP
解析php中array_merge与array+array的区别
2013/06/21 PHP
解析php多线程下载远程多个文件
2013/06/25 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
2015/12/18 PHP
JS加ASP二级域名转向的代码
2007/05/17 Javascript
javascript 从if else 到 switch case 再到抽象
2010/07/17 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
用js设置下拉框为只读的小技巧
2014/04/10 Javascript
JavaScript实现SHA-1加密算法的方法
2015/03/11 Javascript
jquery插件unobtrusive实现片段式加载
2015/06/15 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
轮播的简单实现方法
2016/07/28 Javascript
Vue和Bootstrap的整合思路详解
2017/06/30 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
vue2配置scss的方法步骤
2019/06/06 Javascript
vuex实现数据状态持久化
2019/11/11 Javascript
JavaScript中的函数式编程详解
2020/08/22 Javascript
Python字符串详细介绍
2015/05/09 Python
简单解析Django框架中的表单验证
2015/07/17 Python
Python 实现两个列表里元素对应相乘的方法
2018/11/14 Python
python实现整数的二进制循环移位
2019/03/08 Python
Django配置MySQL数据库的完整步骤
2019/09/07 Python
关于Numpy中的行向量和列向量详解
2019/11/30 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
python 读取、写入txt文件的示例
2020/09/27 Python
Agoda中文官网:安可达(低价预订全球酒店)
2021/01/18 全球购物
药剂学专业应届生自荐信
2013/09/29 职场文书
决心书标准格式
2014/03/11 职场文书
奥利奥广告词
2014/03/20 职场文书
项目委托协议书(最新)
2014/09/13 职场文书
先进集体申报材料
2014/12/25 职场文书
质检员岗位职责
2015/02/03 职场文书
java如何实现获取客户端ip地址的示例代码
2022/04/07 Java/Android