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检测手机QQ在线状态的脚本代码
Feb 10 Python
python实现多线程采集的2个代码例子
Jul 07 Python
Python去除字符串前后空格的几种方法
Mar 04 Python
Python面向对象程序设计多继承和多态用法示例
Apr 08 Python
Python3.5以上版本lxml导入etree报错的解决方案
Jun 26 Python
如何获取Python简单for循环索引
Nov 21 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
Feb 15 Python
在pycharm中创建django项目的示例代码
May 28 Python
基于Python绘制个人足迹地图
Jun 01 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
Jun 06 Python
Pycharm github配置实现过程图解
Oct 13 Python
python Tkinter模块使用方法详解
Apr 07 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 Mssql操作简单封装支持存储过程
2009/12/11 PHP
php curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
浅谈PHP的反射机制
2016/12/15 PHP
微信公众号之主动给用户发送消息功能
2019/06/22 PHP
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
js导航菜单(自写)简单大方
2013/03/28 Javascript
Bootstrap3制作自己的导航栏
2016/05/12 Javascript
js+html5实现手机九宫格密码解锁功能
2018/07/30 Javascript
新手快速入门微信小程序组件库 iView Weapp
2019/06/24 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
2015/11/05 Python
python itchat实现微信好友头像拼接图的示例代码
2017/08/14 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
完美解决安装完tensorflow后pip无法使用的问题
2018/06/11 Python
对Tensorflow中权值和feature map的可视化详解
2018/06/14 Python
python样条插值的实现代码
2018/12/17 Python
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
解决jupyter notebook 出现In[*]的问题
2020/04/13 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
CSS3的RGBA中关于整数和百分比值的转换
2015/08/04 HTML / CSS
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
PyQt 如何创建自定义QWidget
2021/03/24 Python
工程造价管理专业大专生求职信
2013/10/06 职场文书
药学专业个人自我评价
2013/11/11 职场文书
如何写一份好的英文求职信
2014/03/19 职场文书
英语求职信范文
2014/05/23 职场文书
2014年小学安全工作总结
2014/12/04 职场文书
2015年小学图书室工作总结
2015/05/18 职场文书
读完《骆驼祥子》的观后感!
2019/07/05 职场文书
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
Python Django获取URL中的数据详解
2021/11/01 Python