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 相关文章推荐
django数据库migrate失败的解决方法解析
Feb 08 Python
PyQt5每天必学之带有标签的复选框
Apr 19 Python
Python爬虫基础之XPath语法与lxml库的用法详解
Sep 13 Python
对python for 文件指定行读写操作详解
Dec 29 Python
numpy基础教程之np.linalg
Feb 12 Python
PIL图像处理模块paste方法简单使用详解
Jul 17 Python
Django 通过JS实现ajax过程详解
Jul 30 Python
python 默认参数相关知识详解
Sep 18 Python
tensorboard实现同时显示训练曲线和测试曲线
Jan 21 Python
python加密解密库cryptography使用openSSL生成的密匙加密解密
Feb 11 Python
Python通过文本和图片生成词云图
May 21 Python
Pytorch转tflite方式
May 25 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
我的论坛源代码(五)
2006/10/09 PHP
php实现文件下载(支持中文文名)
2013/12/04 PHP
PHP中的use关键字概述
2014/07/23 PHP
yii2使用gridView实现下拉列表筛选数据
2017/04/10 PHP
PHP7多线程搭建教程
2017/04/21 PHP
PHP设计模式之组合模式定义与应用示例
2020/02/01 PHP
用js解决数字不能换行问题
2010/08/10 Javascript
jQuery消息提示框插件Tipso
2015/05/04 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
基于Bootstrap实现城市三级联动
2017/11/23 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
NodeJS加密解密及node-rsa加密解密用法详解
2018/10/12 NodeJs
微信小程序组件传值图示过程详解
2019/07/31 Javascript
Vue执行方法,方法获取data值,设置data值,方法传值操作
2020/08/05 Javascript
[55:48]VGJ.S vs TNC Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
Python单元测试框架unittest简明使用实例
2015/04/13 Python
python语言中with as的用法使用详解
2018/02/23 Python
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
Python将json文件写入ES数据库的方法
2019/04/10 Python
python如何统计代码运行的时长
2019/07/24 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
CSS3实现王者荣耀匹配人员加载页面的方法
2019/04/16 HTML / CSS
销售高级职员求职信
2013/10/29 职场文书
班队活动设计方案
2014/01/30 职场文书
道德模范先进事迹
2014/02/14 职场文书
小学课外阅读总结
2014/07/09 职场文书
办公室主任四风问题对照检查材料思想汇报
2014/09/28 职场文书
离婚协议书样本
2015/01/26 职场文书
2015年班干部工作总结
2015/04/29 职场文书
辩护词范文大全
2015/05/21 职场文书
2015年乡镇纪委工作总结
2015/05/26 职场文书
铁人观后感
2015/06/16 职场文书
详解MongoDB的条件查询和排序
2021/06/23 MongoDB