Python包argparse模块常用方法

2021-08-08 0 768

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包argparse模块常用方法 http://www.ox520.com/29034.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务