Python 命令行解析模块 —— argparse

argparse是python标准库里面用来处理命令行参数的库,基本使用步骤如下:

1.import argparse    导入模块
2.parser = argparse.ArgumentParser()    创建一个解析对象
3.parser.add_argument()    向该对象中添加命令行参数和选项
4.args = parser.parse_args()    进行解析
5.arg = args.参数名1,2,...   获取参数1,2,...
测试代码:
import argparse

parser = argparse.ArgumentParser()  #创建实例
#添加参数
parser.add_argument('f') #必选参数1
parser.add_argument('-a',type=int)    #可选参数2
parser.add_argument('-b',type=str)    #可选参数3
parser.add_argument('-c','--c1',type=int,default=80) #可选参数4
parser.add_argument('--d',type=int,default=80) #可选参数5

args = parser.parse_args()  #解析参数
print("参数1:{0},参数2:{1},参数3:{2},参数4:{3},参数5:{4}".format(args.f,args.a,args.b,args.c1,args.d)) #获取可选参数4值,需要用args.c1,不能用args.c,否则会报Attributes错

测试结果如下:

输入python temp.py,运行报错:缺少必选参数f

输入python temp.py ffff,运行成功

输入python temp.py ffff -a 10 -b 20 -c 30 -d 40,运行成功

输入python temp.py -a 10 -b 20 -c 30 -d 40 ffff,运行报错(必选参数,也是位置参数,不能放错位置)

输入python temp.py ffff -b 20  --d 40 -c 30 -a 10,将可选参数乱序,运行成功

输入python temp.py ffff -b 20  --d 40 --c1 30 -a 10,将 - c换成 --c1,运行成功

 

猜你喜欢

转载自www.cnblogs.com/xuxiaowen1990/p/11239496.html