在上一篇文章:
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))

源码内容
然后我们执行这个程序,执行命令如下:
python dt.py -p 0000 -u 坐公交也用券 -n 3

传入所有参数
接着取消-n的传入
python dt.py -p 0000 -u 坐公交也用券

取消-n的传参
然后继续取消-u
python dt.py -p 000

取消-u传参
最后取消-p
python dt.py

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

程序帮助信息
实现方法
实现可选参数
首先我们来实现可选参数:
在这个 add_argument 方法中,有个 required 的选项,这个选项的意思就是: 必须
该选项值只有两个:
- False
- True
当我们设置为False的时候,这个参数可以不传入,反之则必须传入

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

设置默认值
你可以在默认值中设置类型,例如整型或者字符串,当设置类型的时候必须跟前面的 type 的值相同,也可以不设置
注意事项
1、设置 required 的值为True的时候无法设置默认值
往期文章:
你写Python还用print?来看下这个更好的工具吧
Python-for与字典的配合,灵活对传参进行修改
Python传参初体验,argparse给你专业的感觉
Python通过replace实现sed替换功能
脚本分享-通过python脚本进行批量telnet连通性测试
分别使用Shell和Python正则获取Linux系统版本号
教你如何将Python程序打包成linux可执行文件