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中optionParser模块的使用方法实例教程
Aug 29 Python
python实现在windows服务中新建进程的方法
Jun 30 Python
python爬虫_微信公众号推送信息爬取的实例
Oct 23 Python
python利用插值法对折线进行平滑曲线处理
Dec 25 Python
python实现简单加密解密机制
Mar 19 Python
python制作图片缩略图
Apr 30 Python
Python编写通讯录通过数据库存储实现模糊查询功能
Jul 18 Python
Django中使用CORS实现跨域请求过程解析
Aug 05 Python
Django shell调试models输出的SQL语句方法
Aug 29 Python
基于python及pytorch中乘法的使用详解
Dec 27 Python
python与pycharm有何区别
Jul 01 Python
python 解决Windows平台上路径有空格的问题
Nov 10 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
phpnow php探针环境检测代码
2014/11/04 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
微信自定义分享php代码分析
2016/11/24 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
PHP7变量处理机制修改
2021/03/09 PHP
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
JavaScript判断IE版本型号
2015/07/27 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
JS 循环li添加点击事件 (闭包的应用)
2016/12/10 Javascript
微信小程序-小说阅读小程序实例(demo)
2017/01/12 Javascript
JS+canvas画一个圆锥实例代码
2017/12/13 Javascript
React 路由懒加载的几种实现方案
2018/10/23 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
LayUI数据接口返回实体封装的例子
2019/09/12 Javascript
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
2020/08/20 NodeJs
python实现定制交互式命令行的方法
2014/07/03 Python
总结Python编程中三条常用的技巧
2015/05/11 Python
python 爬虫 批量获取代理ip的实例代码
2018/05/22 Python
详解Python的数据库操作(pymysql)
2019/04/04 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
对Python 简单串口收发GUI界面的实例详解
2019/06/12 Python
十分钟搞定pandas(入门教程)
2019/06/21 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
手把手教你将Flask应用封装成Docker服务的实现
2020/08/19 Python
可自定义箭头样式的CSS3气泡提示框
2016/03/16 HTML / CSS
美体小铺英国官网:The Body Shop英国
2017/01/24 全球购物
机电工程专业应届生求职信
2013/10/03 职场文书
视光学专业毕业生推荐信
2013/10/28 职场文书
父亲追悼会答谢词
2014/01/17 职场文书
法学专业毕业生自荐信
2014/06/11 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
有关信念的名言语录集锦
2019/12/06 职场文书
深入理解python多线程编程
2021/04/18 Python
Go Grpc Gateway兼容HTTP协议文档自动生成网关
2022/06/16 Golang
python缺失值填充方法示例代码
2022/12/24 Python