小白AI算法工程师一枚,看到大神们工业基的代码的开头总会有各种各样的“解释器开门见山",只要读懂解释器好像就看懂了一半呢,不禁想要完全领悟argparse的精髓所在。所以下了个文档准备慢慢入坑:
首先,该学习过程需要打开终端和你的pycharm或者其他开发环境一起使用。这是因为argparse这个python“论点解析器”其实被开发的终极目的就是配合终端输入 python XXX.py -XXX来快速跳过开发环境实现代码中的功能,也就是说即使不是该代码开发者,看过你的help解析也能快速知道这个python代码文件主要是用来干啥的~明白了吧?我也是刚明白~
然后话不多说,CTRL C&V我的代码(顺道纪念下那个CV之父近期过世了),并保存成arg_parse.py这个名字以在终端中备用:
#arg_parse.py
#coding:utf-8
import argparse
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('integers',metavar='N',type=int,nargs='+',help='an integer for the 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))
可以看到这个解析器其实是默认将你输入的数据进行最大值寻找处理,如果你输入 --sum就会进行积分(求和运算)并打印。
在终端中输入下列代码会输出你解析器语句中编辑的help字串,用来帮助其他非开发人员理解代码含义:
python arg_parse.py -h
输出如下
usage: arg_parse.py [-h] [--sum] N [N ...]
Process some integers.
positional arguments:
N an integer for the accumulator
optional arguments:
-h, --help show this help message and exit
--sum sum the integers(default:find the max)
当你使用默认功能(求最大值可以在终端输入):
python3 arg_parse.py 1 2 3 4
输出为:
4
进行求和处理:
python3 arg_parse.py 1 2 3 4 --sum
输出为:
10
第一个实例完了哦~