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编程-将Python程序转化为可执行程序[整理]
Apr 09 Python
python中getattr函数使用方法 getattr实现工厂模式
Jan 20 Python
python多线程编程中的join函数使用心得
Sep 02 Python
利用Python实现简单的相似图片搜索的教程
Apr 23 Python
用Python实现服务器中只重载被修改的进程的方法
Apr 30 Python
Python视频爬虫实现下载头条视频功能示例
May 07 Python
python版大富翁源代码分享
Nov 19 Python
python+unittest+requests实现接口自动化的方法
Nov 29 Python
解决nohup执行python程序log文件写入不及时的问题
Jan 14 Python
Python实现初始化不同的变量类型为空值
Jun 02 Python
Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)
Nov 24 Python
Python 实现定积分与二重定积分的操作
May 26 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将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
对淘宝URL中ID提取的PHP代码
2013/09/01 PHP
PHP防止注入攻击实例分析
2014/11/03 PHP
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
YII Framework框架教程之日志用法详解
2016/03/14 PHP
ThinkPHP使用Smarty第三方插件方法小结
2016/03/19 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
Yii实现文章列表置顶功能示例
2016/10/18 PHP
求解开jscript.encode代码的asp函数
2007/02/28 Javascript
javascript URL锚点取值方法
2009/02/25 Javascript
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
Javascript拓展String方法小结
2013/07/08 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
7个让JavaScript变得更好的注意事项
2015/01/28 Javascript
JS表单验证的代码(常用)
2016/04/08 Javascript
JS锚点的设置与使用方法
2016/09/05 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
AngularJs表单校验功能实例代码
2017/02/09 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
Django中模型Model添加JSON类型字段的方法
2015/06/17 Python
浅析python中的分片与截断序列
2016/08/09 Python
python 执行shell命令并将结果保存的实例
2018/05/11 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
django迁移文件migrations的实现
2020/03/31 Python
在Mac中配置Python虚拟环境过程解析
2020/06/22 Python
Python使用struct处理二进制(pack和unpack用法)
2020/11/12 Python
Python实现Appium端口检测与释放的实现
2020/12/31 Python
HTML5 Canvas实现360度全景图的示例代码
2018/01/29 HTML / CSS
实习单位推荐信范文
2013/11/27 职场文书
《口技》教学反思
2014/02/21 职场文书
倡议书格式范文
2014/04/14 职场文书
投标保密承诺书
2014/05/19 职场文书
群众路线对照检查材料思想汇报怎么写
2014/09/18 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
Java用自带的Image IO给图片添加水印
2021/06/15 Java/Android
MongoDB支持的数据类型
2022/04/11 MongoDB