argparse是一个Python模块:命令行选项、参数和子命令解析器
argparse模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数。然后argparser将弄清
如何从sys.argv解析出那些参数。argparse模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数
时报出错误信息。
使用流程
1. 创建解析器
parser = argparse.ArgumentParser(description=‘Process some intergers.’)
使用argparser的第一步是创建一个ArgumentParser对象,ArgumentParser对象包含将命令行解析成Python数据类型所需的全部信息。
2. 添加参数
(1). parser.add_argument(‘integers’, metavar=‘N’, type=int, nargs=’+’, help = ‘an integer for the accumulator’)
给一个ArgumentParser添加程序阐述信息是通过调用add_arguement()方法完成的。
3. 解析参数
(1). >>>parser.parse_args([’–sum’, ‘7’, ‘-1’, ‘42’ ])
2 Namespace(accumulate=, integers=[7, -1, 42])
ArgumentParser通过parse_args()方法解析参数
ArgumentParser对象
prog - 程序的名称(默认: sys.argv[0],prog猜测是programma的缩写)
usage - 描述程序用途的字符串(默认值:从添加到解析器的参数生成)
description - 在参数帮助文档之后显示的文本 (默认值:无)
add_argument()方法
name or flags - 一个命名或者一个选项字符串的列表
action - 表示该选项要执行的操作
default - 当参数未在命令行中出现时使用的值
dest - 用来指定参数的位置
type - 为参数类型,例如int
choices - 用来选择输入参数的范围。例如choice = [1, 5, 10], 表示输入参数只能为1,5 或10
help - 用来描述这个选项的作用
pychram中加入如下代码,run代码运行报错:
# 设置参数
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required=True,
help="path to input image")
ap.add_argument("-t", "--template", required=True,
help="path to template OCR-A image")
args = vars(ap.parse_args())
解决方法:
代码中如有参数要求必须要提供,否则运行出错,甚至debug也不行
可以用命令行执行代码并提供参数:python xxx.py -i 参数1 -t 参数2
但是这样还是不能debug,这时可以用pycharm来设置:
Run–>Edit Configurations…但是这样还是不能debug,这时可以用pycharm来设置:
Run–>Edit Configurations…
其中parameters中参数为图片存放路径