您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python包argparse模块常用方法

51自学网 2021-10-30 22:32:14
  python
这篇教程Python包argparse模块常用方法写得很实用,希望能帮到您。

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 argparseArg = argparse.ArgumentParser(description='An example for Python package argparse~')arg = Arg.parse_args()

不添加任何参数,cmd运行结果:

在这里插入图片描述

默认可以使用-h或者–help查看参数列表。因为没有添加任何参数,因此,这里只有一个-h。可以看到description的描述信息也可以在-h下打印出来。

添加参数

import argparseArg = 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']))

在这里插入图片描述

添加参数后,需要在运行后面带上参数,否则报错。

添加可选参数

前面添加的参数,一定要传入参数值。

import argparseArg = 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),即可选择是否需要传入参数。

在这里插入图片描述

但是如果指定了参数,后面一定要跟上参数值,否则会报错。例如:

在这里插入图片描述

在添加参数的时候,加上action="store_true"

import argparseArg = 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']))

在这里插入图片描述

当我们带上-a运行,在代码里得到的a值为True,不带则为False。这个是不是和-h类似,当我们带上-h,里面有个if判断,就把相关信息print出来了。

固定类型type

import argparseArg = 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']))

在这里插入图片描述

可选值和默认值

import argparseArg = 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']))

在这里插入图片描述

互斥参数

import argparseArg = 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使用的资料请关注51zixue.net其它相关文章!


opencv读取视频并保存图像的方法
Python OpenCV 图像平移的实现示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。