python args怎样设置参数 (python argparse模块详解)

在上一篇文章:

Python传参初体验,argparse给你专业的感觉

简单介绍了这个工具的作用,那么今天就一起来了解一下如何设置可选参数与默认值

实现效果

#Python# #编程语言#

源码如下:

from argparse import ArgumentParser
#all_info :接收所有传入的信息
all_info = ArgumentParser(description="设置登录信息")
all_info.add_argument('-u','--user',type=str, help="设置一个用户名,默认-->[ -u root ]",default='root', required=False)
all_info.add_argument('-p','--passwd', type=str, help="设置一个密码,例如[ -p 111111 ]", default='111111', required=True)
all_info.add_argument('-n','--number', type=int, help="设置一个执行次数,默认[ -n 1 ]", default=int(1), required=False)
all = all_info.parse_args()
user = all.user
passwd = all.passwd
number = all.number
print('用户名:[ %s ]\n密码:[ %s ]\n执行次数:[ %s ]' %(user,passwd,number))

pythonargparse用法,pythonrange函数的四个参数

源码内容

然后我们执行这个程序,执行命令如下:

python dt.py -p 0000 -u 坐公交也用券 -n 3

pythonargparse用法,pythonrange函数的四个参数

传入所有参数

接着取消-n的传入

python dt.py -p 0000 -u 坐公交也用券

pythonargparse用法,pythonrange函数的四个参数

取消-n的传参

然后继续取消-u

python dt.py -p 000

pythonargparse用法,pythonrange函数的四个参数

取消-u传参

最后取消-p

python dt.py

pythonargparse用法,pythonrange函数的四个参数

从整个过程来看,我们已经实现了默认值与可选参数,通过这样的方式可以大大地降低了使用的复杂度,同时我们还支持了帮助信息:

pythonargparse用法,pythonrange函数的四个参数

程序帮助信息

实现方法

实现可选参数

首先我们来实现可选参数:

在这个 add_argument 方法中,有个 required 的选项,这个选项的意思就是: 必须

该选项值只有两个:

  • False
  • True

当我们设置为False的时候,这个参数可以不传入,反之则必须传入

pythonargparse用法,pythonrange函数的四个参数

可选参数

实现默认值

在这个 add_argument 方法中,有个 default 的选项,这个选择可以传入自定义内容,也就是默认值

pythonargparse用法,pythonrange函数的四个参数

设置默认值

你可以在默认值中设置类型,例如整型或者字符串,当设置类型的时候必须跟前面的 type 的值相同,也可以不设置

注意事项

1、设置 required 的值为True的时候无法设置默认值

往期文章:

你写Python还用print?来看下这个更好的工具吧

Python-for与字典的配合,灵活对传参进行修改

Python传参初体验,argparse给你专业的感觉

Python通过replace实现sed替换功能

脚本分享-通过python脚本进行批量telnet连通性测试

分别使用Shell和Python正则获取Linux系统版本号

教你如何将Python程序打包成linux可执行文件