Python包argparse模块常用方法


Posted in Python onJune 04, 2021

argparse介绍

  argparse包用于解释命令行参数。这里给出几个常用的方法。

# 创建解析器对象
# @para: description:描述信息
Arg = ArgumentParser(description='An example for Python package argparse~')

# 添加参数
# @para: 后面举例子再细说
Arg.add_argument()

# 解析参数
# @return: 返回的arg是一个对象,里面的属性和属性值来自命令行
arg = Arg.parse_args()

# 创建互斥组
# @description:互斥组内的参数不能同时出现
Arg.add_mutually_exclusive_group()

argparse实例

基本使用

import argparse
Arg = argparse.ArgumentParser(description='An example for Python package argparse~')
arg = Arg.parse_args()

不添加任何参数,cmd运行结果:

Python包argparse模块常用方法

默认可以使用-h或者?help查看参数列表。因为没有添加任何参数,因此,这里只有一个-h。可以看到description的描述信息也可以在-h下打印出来。

添加参数

import argparse
Arg = argparse.ArgumentParser(description='An example for Python package argparse~')
Arg.add_argument('a')
arg = Arg.parse_args()
print("arg 的内的参数{}".format(arg.a))
args = vars(arg)
print("arg 的内的参数{}".format(args['a']))

Python包argparse模块常用方法

添加参数后,需要在运行后面带上参数,否则报错。

添加可选参数

前面添加的参数,一定要传入参数值。

import argparse
Arg = argparse.ArgumentParser(description='An example for Python package argparse~')
Arg.add_argument('-a','-all',help='add all para!')
arg = Arg.parse_args()
print("arg 的内的参数{}".format(arg.a))
args = vars(arg)
print("arg 的内的参数{}".format(args['a']))

只需在参数前加上-(用于一个字母,例如-h)或者--(用于多个字母,例如--help),即可选择是否需要传入参数。

Python包argparse模块常用方法

但是如果指定了参数,后面一定要跟上参数值,否则会报错。例如:

Python包argparse模块常用方法

在添加参数的时候,加上action="store_true"

import argparse
Arg = argparse.ArgumentParser(description='An example for Python package argparse~')
Arg.add_argument('-a','-all',help='add all para!',action="store_true")
arg = Arg.parse_args()
print("arg 的内的参数{}".format(arg.a))
args = vars(arg)
print("arg 的内的参数{}".format(args['a']))

Python包argparse模块常用方法

当我们带上-a运行,在代码里得到的a值为True,不带则为False。这个是不是和-h类似,当我们带上-h,里面有个if判断,就把相关信息print出来了。

固定类型type

import argparse
Arg = argparse.ArgumentParser(description='An example for Python package argparse~')
Arg.add_argument('-a','-all',type = int ,help='add all para!',action="store_true")
arg = Arg.parse_args()
print("arg 的内的参数{}".format(arg.a))
args = vars(arg)
print("arg 的内的参数{}".format(args['a']))

Python包argparse模块常用方法

可选值和默认值

import argparse
Arg = argparse.ArgumentParser(description='An example for Python package argparse~')
Arg.add_argument('-a','-all',type = int ,help='add all para!',choices=[0,1,2,3],default='3')
arg = Arg.parse_args()
print("arg 的内的参数{}".format(arg.a))
args = vars(arg)
print("arg 的内的参数{}".format(args['a']))

Python包argparse模块常用方法

互斥参数

import argparse
Arg = argparse.ArgumentParser(description='An example for Python package argparse~')
Gro = Arg.add_mutually_exclusive_group()
Gro.add_argument('-a','-all',help='add all para!')
Gro.add_argument('-b','-ball',help='add ball para!')

arg = Arg.parse_args()
args = vars(arg)
if args.get('a',None):
    print("arg 的内的参数b:{}".format(args['a']))
if args.get('b', None):
    print("arg 的内的参数b:{}".format(args['b']))

Python包argparse模块常用方法

可以看出,在互斥组内,参数不可以同时出现,仅可出现一个或者都不出现。所以在互斥组内添加的参数必须是可选参数,也就是以-或者--开头的。 

以上就是Python包argparse模块常用方法的详细内容,更多关于Python包argparse使用的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python 代码性能优化技巧分享
Aug 07 Python
Python内置函数的用法实例教程
Sep 08 Python
python django事务transaction源码分析详解
Mar 17 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
May 25 Python
python实现屏保计时器的示例代码
Aug 08 Python
python如何求解两数的最大公约数
Sep 27 Python
python 返回列表中某个值的索引方法
Nov 07 Python
对python多线程SSH登录并发脚本详解
Feb 14 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
Aug 29 Python
django数据模型on_delete, db_constraint的使用详解
Dec 24 Python
Python+OpenCV实现图像的全景拼接
Mar 05 Python
Python3 mmap内存映射文件示例解析
Mar 23 Python
opencv读取视频并保存图像的方法
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 #Python
python opencv旋转图片的使用方法
Python还能这么玩之用Python修改了班花的开机密码
Anaconda安装pytorch及配置PyCharm 2021环境
python如何利用cv2模块读取显示保存图片
Jun 04 #Python
Python实现socket库网络通信套接字
Jun 04 #Python
You might like
php中{}大括号是什么意思
2013/12/01 PHP
php中字符串和正则表达式详解
2014/10/23 PHP
List the UTC Time on a Computer
2007/06/11 Javascript
JSONP 跨域访问代理API-yahooapis实现代码
2012/12/02 Javascript
Js与下拉列表处理问题解决
2014/02/13 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
jQuery实现下滑菜单导航效果代码
2015/08/25 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
2016/07/14 Javascript
Angularjs分页查询的实现
2017/02/24 Javascript
BootStrap注意事项小结(五)表单
2017/03/10 Javascript
jQuery实现全选、反选和不选功能
2017/08/16 jQuery
仿淘宝JSsearch搜索下拉深度用法
2018/01/15 Javascript
10分钟上手vue-cli 3.0 入门介绍
2018/04/04 Javascript
jquery分页优化操作实例分析
2019/08/23 jQuery
js实现提交前对列表数据的增删改查
2020/01/16 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
2020/04/30 jQuery
[07:57]DOTA2热力大趴狂欢夜 广州站活动回顾
2013/11/27 DOTA
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
[01:05:36]VP vs TNC Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
Python编写检测数据库SA用户的方法
2014/07/11 Python
Python 爬虫多线程详解及实例代码
2016/10/08 Python
Python3 安装PyQt5及exe打包图文教程
2019/01/08 Python
Jupyter Notebook安装及使用方法解析
2020/11/12 Python
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
澳大利亚礼品卡商店:Gift Card Store
2019/06/24 全球购物
简述进程的启动、终止的方式以及如何进行进程的查看
2014/02/20 面试题
物业门卫岗位职责
2013/12/28 职场文书
父亲生日宴会答谢词
2014/01/10 职场文书
科研先进个人典型材料
2014/01/31 职场文书
采购助理岗位职责
2014/02/16 职场文书
销售队伍口号
2014/06/11 职场文书
企业文化口号
2014/06/12 职场文书
教师学习三严三实心得体会
2014/10/13 职场文书
市场督导岗位职责
2015/04/10 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python