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装饰器使用方法实例
Nov 21 Python
Python的字典和列表的使用中一些需要注意的地方
Apr 24 Python
在Linux下使用Python的matplotlib绘制数据图的教程
Jun 11 Python
Python对字符串实现去重操作的方法示例
Aug 11 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
Mar 22 Python
Python计算时间间隔(精确到微妙)的代码实例
Feb 26 Python
python使用adbapi实现MySQL数据库的异步存储
Mar 19 Python
python递归法解决棋盘分割问题
Jul 17 Python
Django项目中实现使用qq第三方登录功能
Aug 13 Python
tensorflow查看ckpt各节点名称实例
Jan 21 Python
python小白学习包管理器pip安装
Jun 09 Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
Sep 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中mysqli_affected_rows作用行数返回值分析
2014/12/26 PHP
tp5 sum某个字段相加得到总数的例子
2019/10/18 PHP
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
2013/10/24 Javascript
js输入框邮箱自动提示功能代码实现
2013/12/10 Javascript
一个小例子解释如何来阻止Jquery事件冒泡
2014/07/17 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
功能强大的jquery.validate表单验证插件
2016/11/07 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
nodejs模块学习之connect解析
2017/07/05 NodeJs
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
2017/09/18 Javascript
js Dom实现换肤效果
2017/10/21 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
2019/11/07 Javascript
Vue中key的作用示例代码详解
2020/06/10 Javascript
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
[01:22]DOTA2神秘商店携大量周边降临完美大师赛
2017/11/07 DOTA
[40:19]2018完美盛典CS.GO表演赛
2018/12/17 DOTA
[39:18]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第二场 12.17
2020/12/19 DOTA
Python中apply函数的用法实例教程
2014/07/31 Python
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
2020/06/23 Python
python转化excel数字日期为标准日期操作
2020/07/14 Python
python报错: 'list' object has no attribute 'shape'的解决
2020/07/15 Python
安德玛菲律宾官网:Under Armour菲律宾
2020/07/28 全球购物
职务任命书范本
2014/06/05 职场文书
2015年党员自我剖析材料
2014/12/17 职场文书
交通事故案件代理词
2015/05/23 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python
react如何快速设置文件路径别名
2021/04/28 Javascript
React + Threejs + Swiper 实现全景图效果的完整代码
2021/06/28 Javascript
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
2022/06/28 Oracle