标签:
学习python argparse模块下载安装和使用
Python中argparse模块已经替代以前的optparse模块,常被用来实现命令行参数和选项的解析作用。
位置参数:
从一个最基本的程序开始(它并没有实现什么现实的功能):
import argparse
parser = argparse.ArgumentParser()
parser.parse_args()
下面是运行之后的结果:
$ python prog.py
$ python prog.py --help
usage: prog.py [-h]optional arguments:
-h, --help show this help message and exit$ python prog.py --verbose
usage: prog.py [-h]prog.py: error: unrecognized arguments: --verbose
$ python prog.py foo
usage: prog.py [-h]prog.py: error: unrecognized arguments: foo
不加任何参数时结果是空
第二次执行时命令行中加入了“--help”,得到了一个很友好的帮助信息。
--help选项,也可以简写为-h,是唯一不需要我们设置就能使用的参数,其他的任何参数都会报错。
例子:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("echo")
args = parser.parse_args()
print args.echo
运行结果:
$ python prog.py
usage: prog.py [-h] echo
prog.py: error: the following arguments are required: echo
$ python prog.py --help
usage: prog.py [-h] echo
positional arguments: echo
optional arguments:
-h, --help show this help message and exit
$ python prog.py foo
foo
我们添加了add_argument()这个方法,它用来指定程序接受哪些命令行参数。在这个例子中,我们定义它为echo。
现在调用程序时需要我们指定一个选项了。
parse_args()方法实际上从我们的命令行参数中返回了一些数据,在上面的例子中是echo
尽管自动产生的帮助信息展示地很美观,但是我们仍然无法只根据echo这个参数知道它是做什么的。所以我们要让它变得更加实用一些。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("echo", help="echo the string you use here")
args = parser.parse_args()
print args.echo
再次运行:
$ python prog.py -h
usage: prog.py [-h] echo
positional arguments:
echo echo the string you use here
optional arguments:
-h, --help show this help message and exit
接下来再添加一些:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("square", help="display a square of a given number")
args = parser.parse_args()
print args.square**2
结果:
$ python prog.py 4
Traceback (most recent call last):
File "prog.py", line 5, in <module>
print args.square**2
TypeError: unsupported operand type(s) for ** or pow(): ‘str‘ and ‘int‘
运行后报错。这是因为默认情况下argparse把我们传递的参数当做string处理,所以在这个例子中我们需要告诉它我们将传递的是个整数类型的参数。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("square", help="display a square of a given number",type=int)
args = parser.parse_args()
print args.square**2
运行结果:
$ python prog.py 4
16
$ python prog.py four
usage: prog.py [-h] square
prog.py: error: argument square: invalid int value: ‘four‘
现在,这个程序能够顺利运行,而且能够处理一些错误输入。
稿源:勤快学QXKue.NET
扩展阅读:
标签:
原文地址:http://www.cnblogs.com/qkxue/p/5887359.html