Python中的argparse模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中的argparse模块相关的知识,希望对你有一定的参考价值。

argparse是argument(参数)和parser(解析器)的缩写


argparse模块是向.py文件传递参数。如果你想直接运行.py文件,同时向文件中传递参数,就要使用这个模块。

使用这个模块的步骤分以下几步:

1 引入模块

import argparse


2 创建解析对象parser

parser = argparse.ArgumentParser()


3 向对象中添加参数

parser.add_argument(name or flag, nargs= , action= ,type= ,default= ,help= )


name 参数名,分固定参数和可选参数,如add_argument(‘-d‘)表示参数-d是可选的(使用时可以传入也可以不传入参数)

nargs 参数的个数,*表示0到多个,?表示只有一个,+表示至少一个,也可以是数字直接指定参数个数

type 参数类型,默认是string,可以指定为int,float,file

default 设置参数的默认值

help 帮助信息,用来自己设定参数的帮助信息,使用python arg.py --help查看,arg.py为文件名,--help默认是自带的

例如:parser.add_argument(‘a‘, nargs=‘?‘ type=int, default=10, help="a is typeof int")


4 调用parse_args()方法进行解析,然后就可以直接使用

arg = parser.parse_args()


5 使用参数

arg.a


6 文件保存为arg.py,运行文件python arg.py 12


实例:

import argparse


parser = argparse.ArgumentParser()

parser.add_argument("a",nargs=2, type=int, default=10, help="a is typeof int")

parser.add_argument(‘-b‘)


if __name__ == ‘__main__‘ :

        args = parser.parse_args()

        print args.a,args.b


运行:python arg.py 12 13

输出[12,13] none

这里传入12和13传入到a中以list形式显示,b没有传入值显示none


运行:python arg.py 12 13 -b ab

输出[12,13] ab

传入可选参数-b后显示ab


官方文档地址:

https://docs.python.org/2/howto/argparse.html#id1

参考:

http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=21633169&id=4387657

http://www.2cto.com/kf/201412/363654.html



本文出自 “老式照相机” 博客,请务必保留此出处http://7903389.blog.51cto.com/7893389/1789889

以上是关于Python中的argparse模块的主要内容,如果未能解决你的问题,请参考以下文章

Python 杂记:argparse 模块

在 python 中调试 argpars

python中的argparse模块

python中的argparse模块怎么参数传递

Python中的argparse模块

python中的argparse