目录
argparse介绍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 argparse Arg = argparse.ArgumentParser(description='An example for Python package argparse~') arg = Arg.parse_args()
不添加任何参数,cmd运行结果:

默认可以使用-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']))

添加参数后,需要在运行后面带上参数,否则报错。
添加可选参数
前面添加的参数,一定要传入参数值。
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),即可选择是否需要传入参数。

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

在添加参数的时候,加上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']))

当我们带上-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']))

可选值和默认值
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']))

互斥参数
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使用的资料请关注免费资源网其它相关文章!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)