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实现竖排打印传单手机号码易撕条
Mar 16 Python
Python 反转字符串(reverse)的方法小结
Feb 20 Python
基于Python列表解析(列表推导式)
Jun 23 Python
Django框架模板介绍
Jan 15 Python
对python过滤器和lambda函数的用法详解
Jan 21 Python
详解python3 + Scrapy爬虫学习之创建项目
Apr 12 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
Jun 12 Python
Django基础知识 web框架的本质详解
Jul 18 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
Dec 27 Python
Python sublime安装及配置过程详解
Jun 29 Python
Python基于xlutils修改表格内容过程解析
Jul 28 Python
Python内置数据类型中的集合详解
Mar 18 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
人大复印资料处理程序_补充篇
2006/10/09 PHP
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
php以post形式发送xml的方法
2014/11/04 PHP
PHP云打印类完整示例
2016/10/15 PHP
强制设为首页代码
2006/06/19 Javascript
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
jQuery插件slick实现响应式移动端幻灯片图片切换特效
2015/04/12 Javascript
ECharts仪表盘实例代码(附源码下载)
2016/02/18 Javascript
全国省市二级联动下拉菜单 js版
2016/05/10 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
2016/11/04 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
2016/12/07 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
Node.js 异步异常的处理与domain模块解析
2017/05/10 Javascript
angular写一个列表的选择全选交互组件的示例
2018/01/22 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
2019/10/16 Javascript
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
python 基于dlib库的人脸检测的实现
2019/11/08 Python
详解python itertools功能
2020/02/07 Python
在 Linux/Mac 下为Python函数添加超时时间的方法
2020/02/20 Python
python中os包的用法
2020/06/01 Python
html5贪吃蛇游戏使用63行代码完美实现
2013/06/25 HTML / CSS
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
2014/04/10 HTML / CSS
世界上最受欢迎的花店:1-800-Flowers.com
2020/06/01 全球购物
学生安全教育材料
2014/02/14 职场文书
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
旅行社各个岗位职责
2014/03/15 职场文书
优秀班集体先进事迹材料
2014/05/28 职场文书
工商局所长四风自我剖析及整改措施
2014/10/26 职场文书
2014年预算员工作总结
2014/12/05 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书
Mysql数据库按时间点恢复实战记录
2021/06/30 MySQL
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python
flex布局中使用flex-wrap实现换行的项目实践
2022/06/21 HTML / CSS