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定时采集摄像头图像上传ftp服务器功能实现
Dec 23 Python
Python基于分水岭算法解决走迷宫游戏示例
Sep 26 Python
设置python3为默认python的方法
Oct 31 Python
详解如何设置Python环境变量?
May 13 Python
python 列表转为字典的两个小方法(小结)
Jun 28 Python
Python中list的交、并、差集获取方法示例
Aug 01 Python
python pyenv多版本管理工具的使用
Dec 23 Python
Python编程快速上手——Excel表格创建乘法表案例分析
Feb 28 Python
Python如何在循环内使用list.remove()
Jun 01 Python
Python Socket TCP双端聊天功能实现过程详解
Jun 15 Python
如何将json数据转换为python数据
Sep 04 Python
python 5个实用的技巧
Sep 27 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中查询SQL Server或Sybase时TEXT字段被截断的解决方法
2009/03/10 PHP
深入解析php中的foreach问题
2013/06/30 PHP
php二维数组排序详解
2013/11/06 PHP
PHP生成sitemap.xml地图函数
2013/11/13 PHP
php实现简单爬虫的开发
2016/03/28 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
2017/09/29 PHP
javascript类继承机制的原理分析
2009/09/12 Javascript
小议javascript 设计模式 推荐
2009/10/28 Javascript
JavaScript去掉空格的方法集合
2010/12/28 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
js屏蔽鼠标键盘(右键/Ctrl+N/Shift+F10/F11/F5刷新/退格键)
2013/01/24 Javascript
onkeydown事件解决按回车键直接提交数据的需求
2013/04/11 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
JavaScript动态添加style节点的方法
2015/06/09 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
2015/08/27 Javascript
jquery中object对象循环遍历的方法
2015/12/18 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
vue下拉列表功能实例代码
2018/04/08 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
微信sdk实现禁止微信分享(使用原生php实现)
2019/11/15 Javascript
python django 实现验证码的功能实例代码
2017/05/18 Python
Python获取指定文件夹下的文件名的方法
2018/02/06 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
对Tensorflow中Device实例的生成和管理详解
2020/02/04 Python
Gtech官方网站:地毯清洁器、吸尘器及园艺设备
2018/05/23 全球购物
serialVersionUID具有什么样的特征
2014/02/20 面试题
日语求职信范文
2013/12/17 职场文书
普通员工辞职信
2014/01/17 职场文书
2015年学校德育工作总结
2015/04/22 职场文书
《将心比心》教学反思
2016/02/23 职场文书
React实现动效弹窗组件
2021/06/21 Javascript
HTML 里 img 元素的 src 和 srcset 属性的区别详解
2023/05/21 HTML / CSS