1基本函数
argparse是Python中用于命令行中进行参数解析的一个模块,可以自动生成help和usage信息;当从终端输入的参数无效时,模块会输出提示信息。
Argparse常用的三个函数:
parser=Argparse.ArgumentParser()
ArgumentParser()用于创建一个ArgumentParser对象parser,parser保存了所有必要信息,用于将“从命令行中读入的参数”解析为对应的python数据类型。
parser.add_argument()
用于给parser添加需要读取数据的信息,这些信息告诉parser解析读入参数的方法
args = parser.parse_args()
用于解析parser保存的参数,返回一个命名空间
在实际python脚本中parse_args()一般不使用参数,它的参数由sys.argv确定。
2例子程序演示
将下列代码存成.py文件,在终端中运行。
import argparse parser=argparse.ArgumentParser(description="process some integer.") parser.add_argument('integers',metavar='N',type=int,nargs='+',help='an integer for accumulator') parser.add_argument('--sum',dest='accumulate',action='store_const',const=sum,default=max, help='sum the integers (default:find the max)' args=parser.parse_args() print(args.accumulate(args.integers)) 
上面程序实现了,默认求最大,可选求和的功能,结合上面程序,讲解三个函数中常用的选项含义:
3常用参数解释
parser=argparse.ArgumentParser(description=“process some integer.”)
1.1description,用于简要介绍程序的功能和工作原理。在帮助消息中,说明显示在 命令行‘用法’字符串 和 各种参数的帮助消息之间。
1.2prog,用于显示“程序文件名”,默认为“运行文件名”
1.3usage,程序使用说明。当使用了 usage 的参数之后,会覆盖覆盖了 prog 参数里面的值。
parser.add_argument(‘integers’,metavar=‘N’,type=int,nargs=’+’,help=‘an integer for accumulator’)
ArgumentParser.add_argument(name or flags…[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
2.1 name,用于保存输入变量
2.2 action=‘store_const’ 存储由const关键字参数指定的值。
2.3 nargs单个命令行参数与要执行的单个操作相关联
2.4 default值是一个字符串,则解析器会将该值解析为一个命令行参数,变量的默认输入
2.5 type 指定变量的类型
2.6 nargs=’+’.’+‘和’*'一样,出现的所有命令行参数都被收集到一个列表中。
2.7 当ArgumentParser生成帮助信息时, 默认情况下使用dest的值作为每个对象的“名字”。
2.8 metavar会改变显示出来的名字 - parse_args() 对象中属性的名字仍然由dest的值决定。
args=parser.parse_args()
调用 parse_args() 将返回一个具有两个属性的对象, integers 和 accumulate 。
print(args.accumulate(args.integers))
累和的语句实现,默认对输入的数据进行球最大,如果解析到sum的参数,那么求和
4argparse模块整理的缘起
在程序会见到最简单的形式,指定,参数类型,可选值,默认值,和帮助信息等,在运行程序的时候可以通过命令行输入用户制定的参数,否则使用默认参数。
更多内容可以详见以下两篇博文:
https://cloud.tencent.com/developer/section/1370514
https://www.cnblogs.com/piperck/p/8446580.html