Python中强大的命令行库click入门教程
前言
我们的游戏资源处理工具是Python实现的,功能包括csv解析,UI材质处理,动画资源解析、批处理,Androd&iOS自动打包等功能。该项目是由其他部门继承过来的,由于绝大部分代码不符合我们的业务需求,所以进行了大重构。删除了所有业务代码,仅保留了python代码框架。项目中命令行参数解析是自己实现的,极其不优雅,也忍了这么久。打算找时间用click重写。所以最近学习了click,下面本文的内容是click的入门教程,初学者们可以来一起学习学习。
官网镜像地址: http://click.uoota.com/6/
支持:
- 命令的任意嵌套
- 自动生成帮助信息
- 支持在运行时子命令的延迟加载
安装方法是使用 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的交互式命令行可通过启动文件来配置. 当Python启动时,会查找环境变量PYTHONSTARTUP,并且执行该变量中所指定文件里的程序代码.该指定文件名称以及地址可以是随意的.按Tab键时会自动补全内容和命令历史.这对命令行的有效增强,而这些工具则是基于readline模块实现的(这需要readline程序库辅助实现). 此处为大家举一个简单的启动脚本文件例子,它为python命令行添加了按键自动补全内容和历史命令功能. [python@python ~]$ cat .python
-
让 python 命令行也可以自动补全
许多人都知道 iPython 有很好的自动补全能力,但是就未必知道 python 也同样可以 Tab 键补全, 您可以在启动 python 后,执行下 复制代码 代码如下: import readline, rlcompleter; readline.parse_and_bind("tab: complete") 这就可以按 Tab 键补全了. python 自启动 如果您嫌每次都要键入这东西麻烦的话,可以把上边这行写到 ~/.pythonstartup.py , 再 ~/.bashr
-
python获取从命令行输入数字的方法
本文实例讲述了python获取从命令行输入数字的方法.分享给大家供大家参考.具体如下: #---------------------------------------- # Name: numerical_input.py # Author: Kevin Harris # Last Modified: 02/13/04 # Description: This Python script demonstrates # how to get numerical input # from the c
-
python实现读取命令行参数的方法
本文实例讲述了python读取命令行参数的方法.分享给大家供大家参考.具体分析如下: 如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢? 需要模块:sys 参数个数:len(sys.argv) 脚本名: sys.argv[0] 参数1: sys.argv[1] 参数2: sys.argv[2] test.py: import sys print "脚本名:", sys.argv[0] for i in rang
-
python 获取命令行参数 函数
import sys print sys.argv print len(sys.argv) #参数个数 print sys.argv[1] #第一个参数 print sys.argv[2]
-
Python getopt模块处理命令行选项实例
getopt模块用于抽出命令行选项和参数,也就是sys.argv命令行选项使得程序的参数更加灵活.支持短选项模式和长选项模式例如 python scriptname.py -f 'hello' --directory-prefix=/home -t --format 'a' 'b' 复制代码 代码如下: import getopt, sysshortargs = 'f:t'longargs = ['directory-prefix=', 'format']opts, args = getopt
-
python命令行参数sys.argv使用示例
复制代码 代码如下: #diff.py#!/bin/env python import sys if len(sys.argv) <> 3: print "Usage: " + sys.argv[0] + "file1 file2" sys.exit(-1) file1 = sys.argv[1]file2 = sys.argv[2] list1 = {}for line in open(file1): list1[line.split
-
Python 命令行参数sys.argv
Python代码: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->import os, sysos.system(sys.argv[1])带参数执行 python xxx.py speos.system 是用来执行命令行的.因此该程序会接收到第一个参数spe,然后在命令行里执行spe,这样,spe(Python IDE)就打开了.
-
Python 命令行非阻塞输入的小例子
随手google咗一下,基本上都用select实现非阻塞监听,但问题是,监听的是用select之后是不能像getchar()那样,即时收到单个字符的输入,必须要等待回车. 经过努力不怠咁google... [好吧,还是google.没有google什么也做不了.] 最后系一大堆英文资料入面,拼凑出如下可用的代码,实现了单个字符非阻塞输入. show code below. 复制代码 代码如下: #!/usr/bin/python# -*- coding: utf-8 -*-""&quo
-
Python中强大的命令行库click入门教程
前言 我们的游戏资源处理工具是Python实现的,功能包括csv解析,UI材质处理,动画资源解析.批处理,Androd&iOS自动打包等功能.该项目是由其他部门继承过来的,由于绝大部分代码不符合我们的业务需求,所以进行了大重构.删除了所有业务代码,仅保留了python代码框架.项目中命令行参数解析是自己实现的,极其不优雅,也忍了这么久.打算找时间用click重写.所以最近学习了click,下面本文的内容是click的入门教程,初学者们可以来一起学习学习. 官网镜像地址: http://click
-
大家都说好用的Python命令行库click的使用
一.前言 在本系列前面几篇文章中,我们分别介绍了 argparse 和 docopt 的主要功能和用法.它们各具特色,都能出色地完成命令行任务.argparse 是面向过程的,需要先设置解析器,再定义参数,再解析命令行,最后实现业务逻辑.而 docopt 先用声明式的语法定义出参数,再过程式地解析命令行和实现业务逻辑.在一些人看来,这些方式都不够优雅. 而今天要介绍的 click[2] 则是用一种你很熟知的方式来玩转命令行.命令行程序本质上是定义参数和处理参数,而处理参数的逻辑一定是与所定义的参
-
使用Python中的线程进行网络编程的入门教程
引言 对于 Python 来说,并不缺少并发选项,其标准库中包括了对线程.进程和异步 I/O 的支持.在许多情况下,通过创建诸如异步.线程和子进程之类的高层模块,Python 简化了各种并发方法的使用.除了标准库之外,还有一些第三方的解决方案,例如 Twisted.Stackless 和进程模块.本文重点关注于使用 Python 的线程,并使用了一些实际的示例进行说明.虽然有许多很好的联机资源详细说明了线程 API,但本文尝试提供一些实际的示例,以说明一些常见的线程使用模式. 全局解释器锁 (G
-
Python中一些自然语言工具的使用的入门教程
NLTK 是使用 Python 教学以及实践计算语言学的极好工具.此外,计算语言学与人工 智能.语言/专门语言识别.翻译以及语法检查等领域关系密切. NLTK 包括什么 NLTK 会被自然地看作是具有栈结构的一系列层,这些层构建于彼此基础之上.那些熟悉人工语言(比如 Python)的文法 和解析的读者来说,理解自然语言模型中类似的 -- 但更深奥的 -- 层不会有太大困难. 术语表 全集(Corpora):相关文本的集合.例如,莎士比亚的作品可能被统称为一个 文集(corpus): 而若干个作者
-
深入浅析Python 命令行模块 Click
Click 是用 Python 写的一个第三方模块,用于快速创建命令行.我们知道,Python 内置了一个 Argparse 的标准库用于创建命令行,但使用起来有些繁琐,Click 相比于 Argparse,就好比 requests 相比于 urllib. 关于Click? 说下 Click 模块是干啥的,简单说,它就是把我们的 Python 脚本的一些函数,通过添加带有 Click 关键字的装饰器进行装饰进而将函数调用的形式转化为命令行传参的形式然后执行.听不懂也没关系,我们会一步一步来,基本
-
python中pandas常用命令详解
pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.pandas提供了大量能使我们快速便捷地处理数据的函数和方法.你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一. 1.pandas pandas 是一个多功能且功能强大的数据科学库. 2.读取数据 pd.read_csv("data.csv") 3.读取指定列 pd.read_csv(&quo
-
Python实现脚本转换为命令行程序
目录 搭建骨架脚本 使用 Pyscaffold 创建应用程序 CLI 工具化 测试 搭建骨架脚本和模块 在我的职业生涯中,我写过.用过和看到过很多随意的脚本.一些人需要半自动化完成任务,于是它们诞生了.一段时间后,它们变得越来越大.它们在一生中可能转手很多次.我常常希望这些脚本提供更多的 命令行工具式 的感觉.但是,从一次性脚本到合适的工具,真正提高质量水平有多难呢?事实证明这在 Python 中并不难. 搭建骨架脚本 在本文中,我将从一小段 Python 代码开始.我将把它应用到 sca
-
对python中执行DOS命令的3种方法总结
1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. 使用Popen模块产生新的process 现在大部分人都喜欢使用Popen.Popen方法不会打印出cmd在linux上执行的信息.的确,Popen非常强大,支持多种参数和模式.使用前需要from subprocess import Popen, PIPE.但是Popen函数有一个缺陷,就是它是一个阻塞的方
-
在Python中调用Ping命令,批量IP的方法
如下所示: #!/usr/bin/env python #coding:UTF-8 ''''''' Author: jefferchen@163.com 可在命令行直接带目的IP,也可将IP列表在文本文件中. pingip.py -d DestIP DestIP示例: a)单个: 192.168.11.1 b)多个: 192.168.11.1;172.16.8.1;176.13.18.2 c)网段: 192.168.11.1-127 文本文件:ip.txt 目的IP多行存储 ''''''' im
-
Golang中基础的命令行模块urfave/cli的用法说明
前言 相信只要部署过线上服务,都知道启动参数一定是必不可少的,当你在不同的网络.硬件.软件环境下去启动一个服务的时候,总会有一些启动参数是不确定的,这时候就需要通过命令行模块去解析这些参数,urfave/cli是Golang中一个简单实用的命令行工具. 安装 通过 go get github.com/urfave/cli 命令即可完成安装. 正文 使用了urfave/cli之后,你的程序就会变成一个命令行程序,以下就是通过urfave/cli创建的一个最简单的命令行程序,它设定了一些基础的信息,
随机推荐
- js简单的点击返回顶部效果实现方法
- 如何用js控制frame的隐藏或显示的解决办法
- Win7中IIS的ASP.NET环境配置简洁版
- js简单实现竖向tab选项卡的方法
- ASP.NET Repeater 单双行数据换色示例
- eaglephp使用微信api接口开发微信框架
- 一个odbc连mssql分页的类
- PHP实现文件上传功能实例代码
- javascript实现延时显示提示框效果
- jquery实现导航固定顶部的效果仿蘑菇街
- WMI 脚本高手不完全手册
- Ubuntu 16.04安装搜狗拼音输入法错误问题的解决方法
- spring结合struts的代码详解
- 安全技术—RSA公钥密码体制安全性分析
- Node.js 8 中的 util.promisify的详解
- php中serialize序列化与json性能测试的示例分析
- C++中md5 算法实现代码
- android图库播放幻灯片时按power键灭屏再亮屏显示keyguard
- python实现飞机大战微信小游戏
- mysql 5.7.21 解压版安装配置方法图文教程