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实现并行抓取整站40万条房价数据(可更换抓取城市)
Dec 14 Python
python3中set(集合)的语法总结分享
Mar 24 Python
Python 3中print函数的使用方法总结
Aug 08 Python
python+ffmpeg批量去视频开头的方法
Jan 09 Python
Python去除字符串前后空格的几种方法
Mar 04 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
Jul 01 Python
对于Python深浅拷贝的理解
Jul 29 Python
pygame实现俄罗斯方块游戏(对战篇1)
Oct 29 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
Dec 03 Python
python sitk.show()与imageJ结合使用常见的问题
Apr 20 Python
python glom模块的使用简介
Apr 13 Python
Python获取江苏疫情实时数据及爬虫分析
Aug 02 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调用Twitter的RSS的实现代码
2010/03/10 PHP
php入门学习知识点五 关于php数组的几个基本操作
2011/07/14 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
基于PHP微信红包的算法探讨
2016/07/21 PHP
PHP静态成员变量
2017/02/14 PHP
JavaScript入门学习书籍推荐
2008/06/12 Javascript
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
jquery 单引号和双引号的区别及使用注意
2013/07/31 Javascript
JavaScript创建对象的方式小结(4种方式)
2015/12/17 Javascript
jquery插件EasyUI中form表单提交实例分享
2016/01/11 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
2016/12/24 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
vue2.0 实现页面导航提示引导的方法
2018/03/13 Javascript
深入理解JavaScript和TypeScript中的class
2018/04/22 Javascript
微信小程序实现购物页面左右联动
2019/02/15 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
ligerUI的ligerDialog关闭刷新的方法
2019/09/27 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
Python实现简单的用户交互方法详解
2018/09/25 Python
对Python生成器、装饰器、递归的使用详解
2019/07/19 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
Python3 利用face_recognition实现人脸识别的方法
2020/03/13 Python
Python之字典对象的几种创建方法
2020/09/30 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
2020/10/21 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
详解纯CSS3制作的20种loading动效
2017/07/05 HTML / CSS
美国顶级水上运动专业店:Marine Products
2018/04/15 全球购物
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
草船借箭教学反思
2014/02/03 职场文书
租赁意向书范本
2014/04/01 职场文书
纪念九一八事变演讲稿:忘记意味着背叛
2014/09/14 职场文书
大雁塔英文导游词
2015/02/10 职场文书
Win10 最新稳定版本 21H2开始推送
2022/04/19 数码科技
SQL Server中的游标介绍
2022/05/20 SQL Server
Python使用BeautifulSoup4修改网页内容
2022/05/20 Python