1.首先本文借鉴博客园博主文章:
http://wiki.jikexueyuan.com/project/explore-python/Standard-Modules/argparse.html
2.argparse 究竟有什么用呢?
对于程序开发中,我们难免要给出多个参数,各种参数的调用输入输出给我编程逻辑提出很大的挑战,而argparse模块则是一个对所有的参数进行统一个管理。对于一个python函数,有两种输入参数,定位参数和可选参数,也就是:optional arguments,positional arguments。对于前者,一旦设置了,就必须要给这样的参数,对于后者你可以不给,但是如果要给这样的参数则比前者麻烦。
3.我们常用argparse结构框架
# -*- coding: utf-8 -*-
import argparse
parser=argparse.ArgumentParser("This is a test progrom!") #对整个输入模块给出定义说明,
parser.add_argument("--square",type=int,default=2,help="display a square of a given number!")#添加optional arguments
parser.add_argument("area",type=int,default=4,help="display a square of a given number!")#添加positional arguments
....
....
....
....
....
....
....
....
args = parser.parse_args()#固定用法,通过这种方式,我们可以像引用对象一样来使用参数。
4.例子
# -*- coding: utf-8 -*-
import argparse
parser=argparse.ArgumentParser("This is a test progrom!")
parser.add_argument("--square",type=int,default=2,help="display a square of a given number!")
parser.add_argument("--area",type=int,default=4,help="display a square of a given number!")
args = parser.parse_args()
if args.square:
print(args.square**2)
if args.area:
print(args.area**2)
在命令行中输入:python args_test.py --h
在命令行中输入:python args_test.py --square 8 --area 9
下面来看看两种参数共用情况:
# -*- coding: utf-8 -*-
import argparse
parser=argparse.ArgumentParser("This is a test progrom!")
parser.add_argument("square",type=int,default=2,help="display a square of a given number!")
parser.add_argument("--area",type=int,default=4,help="display a square of a given number!")
args = parser.parse_args()
if args.square:
print(args.square**2)
if args.area:
print(args.area**2)
5.总结
对于这种结构,我们要学会去掌握框架,至于具体的可以直接网络搜索,算是一个比较简单的,方便的模块。