python 识别图片验证码报IOError

时间:2023-03-09 16:35:54
python 识别图片验证码报IOError

说一下困扰了我一周的问题:识别图片验证码

本来我按照安装步骤(http://www.cnblogs.com/yeayee/p/4955506.html?utm_source=tuicool&utm_medium=referral)安装图库,安装完成后,就一个简单的代码,总是报错,我都要疯了,天天调试,搜结果

补安装顺序:1)安装PIL,pip install PIL  2)安装tesseract-ocr,从网上下载的  3)安装pytesseract,pip install pytesseract  (因为pytesser实在太麻烦了)

python 识别图片验证码报IOError

python 识别图片验证码报IOError

闲话少说,原因就是路径不对:

1)路径没有转义

方法一:

“\”必须转义,就是加上\,z正确路径:

image = Image.open('D:\\selenium-workspace\\test_rfd\\test_data\\3.jpg')

方法二:

路径前加上 "r"

image = Image.open(r'D:\selenium-workspace\test_rfd\test_data\3.jpg')

2)图片文件的名称写错了(文件名是3.jpg.jpg,)

因为路径写的3.jpg,但是文件夹里显示的是3,我见没找到,就加上了.jpg,这样就是名字就是3.jpg;

其实还有隐含扩展名(.jpg),文件名称是3.jpg.jpg,这样更找不到了,所以报IO错误

3)可能是我引入的包太多了,相互影响了

因为安装pytesser、pytesseract都不行,但是那些包我都导入了,可能会有影响,所以只导入用到的就可以了

我简直太笨了,下面是正确的结果:

python 识别图片验证码报IOError

python 识别图片验证码报IOError