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同时给两个收件人发送邮件的方法
Apr 30 Python
编写Python脚本批量下载DesktopNexus壁纸的教程
May 06 Python
Queue 实现生产者消费者模型(实例讲解)
Nov 13 Python
浅析python实现scrapy定时执行爬虫
Mar 04 Python
python实现一个简单的并查集的示例代码
Mar 19 Python
python添加菜单图文讲解
Jun 04 Python
Django 使用easy_thumbnails压缩上传的图片方法
Jul 26 Python
详解使用django-mama-cas快速搭建CAS服务的实现
Oct 30 Python
Python参数传递对象的引用原理解析
May 22 Python
python实现发送邮件
Mar 02 Python
Python爬虫之爬取某文库文档数据
Apr 21 Python
python turtle绘图
May 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
一个oracle+PHP的查询的例子
2006/10/09 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
2013/06/02 PHP
如何通过Linux命令行使用和运行PHP脚本
2015/07/29 PHP
Smarty模板语法详解
2019/07/20 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
node.js中的fs.close方法使用说明
2014/12/17 Javascript
使用iojs的jsdom库实现同步系统时间
2015/04/20 Javascript
jQuery Validate表单验证深入学习
2015/12/18 Javascript
使用three.js 画渐变的直线
2016/06/05 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
JS中动态创建元素的三种方法总结(推荐)
2016/10/20 Javascript
微信小程序 页面跳转和数据传递实例详解
2017/01/19 Javascript
微信小程序 支付后台java实现实例
2017/05/09 Javascript
详解Vue2中组件间通信的解决全方案
2017/07/28 Javascript
js分页之前端代码实现和请求处理
2017/08/04 Javascript
react+redux的升级版todoList的实现
2017/12/18 Javascript
原生nodejs使用websocket代码分享
2018/04/07 NodeJs
为jquery的ajax请求添加超时timeout时间的操作方法
2018/09/04 jQuery
VUE-cli3使用 svg-sprite-loader
2018/10/20 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
[02:20]2014DOTA2西雅图邀请赛 MVP外卡赛首胜采访
2014/07/09 DOTA
[57:41]Secret vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:35]2018年度CS GO最佳战队-完美盛典
2018/12/17 DOTA
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
基于pycharm导入模块显示不存在的解决方法
2018/10/13 Python
Python实现AI自动抠图实例解析
2020/03/05 Python
python利用proxybroker构建爬虫免费IP代理池的实现
2021/02/21 Python
澳大利亚天然护肤品、化妆品和健康产品一站式商店:Nourished Life
2018/12/02 全球购物
毕业寄语大全
2014/04/09 职场文书
创业女性典型材料
2014/05/02 职场文书
办公室文员岗位职责范本
2014/06/12 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
导游词之崇武古城
2019/10/07 职场文书