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)

argpare与click模块怎么在python中使用

4、最后我们测试一下这个模块

a、测试 -h选项,这里-h和--help的效果是一样的

argpare与click模块怎么在python中使用

b、测试--V选项和--version选项

argpare与click模块怎么在python中使用

c、测试一下输入的正确的参数

argpare与click模块怎么在python中使用

二、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()

argpare与click模块怎么在python中使用

其他的应该大家都可以看懂,这个prompt的作用是什么呢,实际就是如果我们没有为name传参数,他就会给出一个提示

argpare与click模块怎么在python中使用

下面这个例子是完整的传参

argpare与click模块怎么在python中使用

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()

测试结果

argpare与click模块怎么在python中使用

b、测试click.choice选项

@click.command()
@click.option('--hash',type=click.Choice(["md5","sha1"]),help='typeofhash')
defhello(hash):
print(hash)
if__name__=='__main__':
hello()

测试结果

argpare与click模块怎么在python中使用

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中使用

正确的输入

argpare与click模块怎么在python中使用

关于argpare与click模块怎么在python中使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

发布于 2021-03-17 20:55:40
收藏
分享
海报
0 条评论
157
上一篇:如何在python项目中使用urllib.request模块 下一篇:如何在Python中使用sqlalchemy模块连接数据库
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码