argpare与click模块怎么在python中使用
这篇文章将为大家详细讲解有关argpare与click模块怎么在python中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
一、argparse模块
1、模块说明
#argparse是python的标准库中用来解析命令行参数的模块,用来替代已经过时的optparse模块,argparse能够根据程序中的定义的sys.argv中解析出这些参数, #并自动生成帮助和使用信息
2、模块常用的参数
#参数说明: #name/flag:参数的名字 #action:遇到参数的动作,默认值是store #nargs:参数的个数,可以是具体的数字,或者是+或者是*,*表示0个或者多个参数,+号表示1个或者多个参数 #default:不指定参数时的默认值 #type:#参数的类型 #choice:参数允许的值 #required:可选参数是否可以省略 #help:参数的帮助信息 #dest:解析后参数的名称
3、使用方法
importargparse def_argparse(): parseobj=argparse.ArgumentParser(description="Thisisscripthelp") #参数说明: #name/flag:参数的名字 #action:遇到参数的动作,默认值是store #nargs:参数的个数,可以是具体的数字,或者是+或者是*,*表示0个或者多个参数,+号表示1个或者多个参数 #default:不指定参数时的默认值 #type:#参数的类型 #choice:参数允许的值 #required:可选参数是否可以省略 #help:参数的帮助信息 #dest:解析后参数的名称 parseobj.add_argument("--host",action='store',dest='host',required=True,default="127",help="Thisisahostipaddress",type=int) parseobj.add_argument("--P",'--passwd',action='store',dest='pwd',required=True,default="admin123.",help="Thisisahostpassword",type=str) parseobj.add_argument("--V",'--version',action='version',version="%(prog)s0.1") returnparseobj.parse_args() if__name__=='__main__': res=_argparse() print(res.pwd) print(res.host)
4、最后我们测试一下这个模块
a、测试 -h选项,这里-h和--help的效果是一样的
b、测试--V选项和--version选项
c、测试一下输入的正确的参数
二、click模块
1、模块介绍
click模块的作者就是Flask的作者,(Armin Ronacher)开发的一个第三方的模块,用于快速创建命令行。他的作用用python标准库中的argparse相同,但是
使用更加简单,click相对于标准库的argparse,就好比requests库相当于标准库的urllib库,click是一个第三的库,因此在使用之前需要安装
2、模块安装
E:\python3\Scripts>pip3.6.exeinstallclick
3、使用步骤
a、使用@click.command()装饰一个函数,使之成为命令行的接口
b、使用@click.option()等装饰函数,为其添加命令行选项等
c、先看一个官方的例子
importclick #click模块的作者就是Flask的作者,(ArminRonacher)开发的一个第三方的模块,用于快速创建命令行。他的作用用python标准库中的argparse相同,但是 #使用更加简单,click相对于标准库的argparse,就好比requests库相当于标准库的urllib库,click是一个第三的库,因此在使用之前需要安装 @click.command() @click.option('--count',default=1,help='Numberofgreetings') @click.option('--name',prompt='yourname',help='Thepersontogreet') defhello(count,name): forxinrange(count): click.echo("hello{name}".format(name=name)) if__name__=='__main__': hello()
其他的应该大家都可以看懂,这个prompt的作用是什么呢,实际就是如果我们没有为name传参数,他就会给出一个提示
下面这个例子是完整的传参
4、常用参数
常用参数
default:设置命令行参数的默认值
help:参数说明
type:参数的类型,可以是string,int,float
prompt:当在命令行中没有输入相应的参数,会根据prompt提示用户输入
nargs:指定命令行参数接受的值的个数
a、测试一下nargs参数
@click.command() @click.option('--post',nargs=2,help='Numberofpost') defhello(post): print(post) if__name__=='__main__': hello()
测试结果
b、测试click.choice选项
@click.command() @click.option('--hash',type=click.Choice(["md5","sha1"]),help='typeofhash') defhello(hash): print(hash) if__name__=='__main__': hello()
测试结果
c、如果使用命令行输入密码,则默认的情况是有很大的安全隐患的,因为输入密码的命令在history中,其他用户就可以通过命令的历史列表,拿到我们的密码,click可以为我们解决这个问题
@click.command() @click.option('--pwd',prompt=True,hide_input=True,help='passwdofuser',confirmation_prompt=True) defhello(pwd): print(pwd) if__name__=='__main__': hello()
prompt:要设置为True
hide_input:要设置为True
confirmation_prompt:会自动为我们进行密码的二次验证
测试结果如下
错误的输入
正确的输入
关于argpare与click模块怎么在python中使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
推荐阅读
-
Python中怎么动态声明变量赋值
这篇文章将为大家详细讲解有关Python中怎么动态声明变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中变量的存储原理是什么
-
Python中怎么引用传递变量赋值
这篇文章将为大家详细讲解有关Python中怎么引用传递变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中怎么获取程序执行文件路径
python中怎么获取程序执行文件路径,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的...
-
Python中如何获取文件系统的使用率
Python中如何获取文件系统的使用率,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴...
-
Python中怎么获取文件的创建和修改时间
这篇文章将为大家详细讲解有关Python中怎么获取文件的创建和修改时间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读...
-
python中怎么获取依赖包
今天就跟大家聊聊有关python中怎么获取依赖包,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据...
-
python怎么实现批量文件加密功能
-
python中怎么实现threading线程同步
小编给大家分享一下python中怎么实现threading线程同步,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!...
-
python下thread模块创建线程的方法
本篇内容介绍了“python下thread模块创建线程的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来...