当一个项目的输入参数较多,且要进行修改和调试时,经常涉及到参数的格式和路径问题。如果一行一行去进行修改代码,会非常繁琐且错误率很高。argparse模块就是为了解决这个问题。
argparse 是python自带的命令行参数解析包,也就是传入参数的库,可以用来方便地读取命令行参数。该模块统一从命令行中调用需要使用的参数或文件路径,可以一次性完成输入参数读取工作,且更改起来比较方便,对于用户更加友好。
import argparse
ape = argparse.ArgumentParser(description= '命令行中传入参数')
ArgumentParser 对象包含将命令行解析成 python 数据类型所需的全部信息。其中description中字符串是该解析端口的自定义解释说明。
class argparse.ArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=argparse.HelpFormatter, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True, allow_abbrev=True)
ape.add_argument("-i ", "--image", required=True, help="path to input image")
ape.add_argument("-t", "--template", required=True, help="path to template OCR-A image")
向该对象中添加了命令行参数和选项,每一个add_argument方法对应一个参数或选项。
ape.add_argument(name...[, action][, nargs][, default][, type][, choices][, required][, help])
args = vars(ape.parse_args())
该语句表示对参数进行解析,输入的参数储存到args中。
例子:通过Pycharm将项目一些图片输入,且在调试过程中,完成图片的更换。
import argparse
ap = argparse.ArgumentParser()#创造一个解析器对象
ap.add_argument("-i ", "--image", required=True, help="path to input image")#添加image的
ap.add_argument("-t", "--template", required=True, help="path to template OCR-A image")#添加template的
args = vars(ap.parse_args())
首次运行项目,需要在Configuration的Parameters中按照如下格式添加:(注意空格)
-i 路径加image文件名称 -t 路径加template文件名称