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 中的列表解析和生成表达式
Mar 10 Python
按日期打印Python的Tornado框架中的日志的方法
May 02 Python
Django URL传递参数的方法总结
Aug 28 Python
python简单实例训练(21~30)
Nov 15 Python
python基于ID3思想的决策树
Jan 03 Python
python实现机器人行走效果
Jan 29 Python
Python利用Django如何写restful api接口详解
Jun 08 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
Aug 03 Python
python用opencv批量截取图像指定区域的方法
Jan 24 Python
Python基础类继承重写实现原理解析
Apr 03 Python
QML用PathView实现轮播图
Jun 03 Python
Flask使用SQLAlchemy实现持久化数据
Jul 16 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
用来解析.htgroup文件的PHP类
2012/09/05 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
2015/12/25 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
JS实现旋转木马式图片轮播效果
2017/01/18 Javascript
nodejs6下使用koa2框架实例
2017/05/18 NodeJs
JavaScript 中的 this 简单规则
2017/09/19 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
2017/11/29 Javascript
vue和webpack打包项目相对路径修改的方法
2018/06/15 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
2018/07/05 Javascript
[56:45]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第一局
2016/02/28 DOTA
python使用urllib2实现发送带cookie的请求
2015/04/28 Python
编写自定义的Django模板加载器的简单示例
2015/07/21 Python
python 动态加载的实现方法
2017/12/22 Python
浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)
2018/04/27 Python
python实现文件的分割与合并
2019/08/29 Python
Python中常用的高阶函数实例详解
2020/02/21 Python
Python实现密钥密码(加解密)实例详解
2020/04/26 Python
python变量的作用域是什么
2020/05/26 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
matplotlib grid()设置网格线外观的实现
2021/02/22 Python
办公室前台岗位职责
2014/01/04 职场文书
创业计划实施的7大步骤
2014/02/05 职场文书
驳回起诉裁定书
2015/05/19 职场文书
美丽人生观后感
2015/06/03 职场文书
农村婚庆主持词
2015/06/29 职场文书
2016年大学生党员承诺书
2016/03/24 职场文书
工作计划范文之财务管理
2019/08/09 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
mysql联合索引的使用规则
2021/06/23 MySQL
数据库之SQL技巧整理案例
2021/07/07 SQL Server
详细聊聊关于Mysql联合查询的那些事儿
2021/10/24 MySQL