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模块学习 filecmp 文件比较
Aug 27 Python
使用python搭建Django应用程序步骤及版本冲突问题解决
Nov 19 Python
python与C互相调用的方法详解
Jul 14 Python
Python探索之ModelForm代码详解
Oct 26 Python
python自动12306抢票软件实现代码
Feb 24 Python
python opencv 图像尺寸变换方法
Apr 02 Python
python 输出所有大小写字母的方法
Jan 02 Python
对Python闭包与延迟绑定的方法详解
Jan 07 Python
python利用tkinter实现屏保
Jul 30 Python
Pytorch之parameters的使用
Dec 31 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
Apr 22 Python
TensorFlow使用Graph的基本操作的实现
Apr 22 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中目录,文件操作详谈
2007/03/19 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
基于JS实现EOS隐藏错误提示层代码
2016/04/25 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
jquery 实现回车登录详解及实例代码
2016/10/23 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
移动端使用localResizeIMG4压缩图片
2017/04/22 Javascript
详解webpack require.ensure与require AMD的区别
2017/12/13 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
2017/12/24 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
vue使用vue-i18n实现国际化的实现代码
2018/04/08 Javascript
Vue 实现树形视图数据功能
2018/05/07 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
2019/07/10 Javascript
听歌识曲--用python实现一个音乐检索器的功能
2016/11/15 Python
Python创建xml文件示例
2017/03/22 Python
用Eclipse写python程序
2018/02/10 Python
pandas数据处理基础之筛选指定行或者指定列的数据
2018/05/03 Python
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
Python3 无重复字符的最长子串的实现
2019/10/08 Python
Python读取分割压缩TXT文本文件实例
2020/02/14 Python
python绘制趋势图的示例
2020/09/17 Python
亚马逊巴西站:Amazon.com.br
2019/09/22 全球购物
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
北承题目(C++)
2012/05/16 面试题
安全生产汇报材料
2014/02/17 职场文书
创先争优承诺书范文
2014/03/31 职场文书
安全目标管理责任书
2014/07/25 职场文书
2014年网络管理员工作总结
2014/12/01 职场文书
广告公司文案策划岗位职责
2015/04/14 职场文书
MySQL详解进行JDBC编程与增删改查方法
2022/06/16 MySQL
springboot实现string转json json里面带数组
2022/06/16 Java/Android