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之画圈还不简单吗?
Sep 20 Python
列举Python中吸引人的一些特性
Apr 09 Python
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
Apr 11 Python
使用Python的Flask框架来搭建第一个Web应用程序
Jun 04 Python
Python操作json的方法实例分析
Dec 06 Python
python匹配两个短语之间的字符实例
Dec 25 Python
python使用for循环计算0-100的整数的和方法
Feb 01 Python
解决Python内层for循环如何break出外层的循环的问题
Jun 24 Python
通过自学python能找到工作吗
Jun 21 Python
python 实现"神经衰弱"翻牌游戏
Nov 09 Python
教你如何使用Python下载B站视频的详细教程
Apr 29 Python
pytorch分类模型绘制混淆矩阵以及可视化详解
Apr 07 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
ezSQL PHP数据库操作类库
2010/05/16 PHP
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
2012/06/05 PHP
基于header的一些常用指令详解
2013/06/06 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
2013/06/09 PHP
探讨Hessian在PHP中的使用分析
2013/06/13 PHP
PHP 字符串长度判断效率更高的方法
2014/03/02 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
2018/05/28 PHP
PHP实现倒计时功能
2020/11/16 PHP
java script编程起步(第三课)
2007/01/10 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
javascript变量声明实例分析
2015/04/25 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
2016/08/01 Javascript
jquery滚动条插件(可以自定义)
2016/12/11 Javascript
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
Bootstrap模态框插入视频的实现代码
2017/06/25 Javascript
webpack使用 babel-loader 转换 ES6代码示例
2017/08/21 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
tornado 多进程模式解析
2018/01/15 Python
使用python绘制3维正态分布图的方法
2018/12/29 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
Python中IP地址处理IPy模块的方法
2019/08/16 Python
Python基于gevent实现文件字符串查找器
2020/08/11 Python
全球在线商店:BerryLook
2019/04/14 全球购物
求职自荐书范文
2013/12/04 职场文书
网上签名寄语活动留言
2014/01/18 职场文书
趣味体育活动方案
2014/02/08 职场文书
信息技术毕业生自荐信范文
2014/03/13 职场文书
关于安全的标语
2014/06/10 职场文书
2015年学生资助工作总结
2015/05/25 职场文书
小学语文教师研修日志
2015/11/13 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书
Android实现图片九宫格
2022/06/28 Java/Android
数据设计之权限的实现
2022/08/05 MySQL
Win11无法安装更新补丁KB3045316怎么办 附KB3045316补丁修复教程
2022/08/14 数码科技