Я хочу перебирать каждый файл .png в папке и печатать каждый текст, содержащийся в изображениях. Первая итерация работает нормально, но вторая выдает ошибку.
Код:
import pytesseract
from PIL import Image
import os
directory = (r'C:\folder...')
for filename in os.listdir(directory):
if filename.endswith('.png'):
Image = Image.open(filename)
im = pytesseract.image_to_string(Image)
print(im)
Выход:
Traceback (последний вызов был последним): File
«C: \ Users \ Artur \ Desktop \ Pytesseract_test.py», строка 9, в
Image = Image.open (имя файла) AttributeError: у объекта 'PngImageFile' нет атрибута 'open'
Что означает, что объект 'PngImageFile' не имеет атрибута 'open'? Разве Image = Image.open(filename)
не делает именно это?
Заранее спасибо
Edit:
Первоначальная ошибка PngError решена, но теперь произошла другая ошибка с библиотекой PIL:
import pytesseract
from PIL import Image
import os
directory = (r'C:\folder...')
for filename in os.listdir(directory):
if filename.endswith('.png'):
img = Image.open(filename)
im = pytesseract.image_to_string(img)
print(im)
Вывод: (ocr 'frame_0000.png' правильный, а затем)
Traceback (most recent call last):
File "C:\Users\Artur\Desktop\Pytesseract_test.py", line 9, in <module>
img = Image.open(filename)
File "C:\Users\Artur\AppData\Local\Programs\Python\Python36\lib\site-packages\PIL\Image.py", line 2580, in open
fp = builtins.open(filename, "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'frame_0001.png'
Edit2:
Это очень странно. Когда я делаю это:
for filename in os.listdir(r'folderpath...'):
print(filename)
работает отлично, перебирает каждый файл, печатает каждое имя файла.
Но когда я делаю это:
for filename in os.listdir(r'folderpath...'):
print(filename)
print(pytesseract.image_to_string(Image.open(filename)))
Ошибка выдается:
Bewegung_UHF_Plots.m
Traceback (most recent call last):
File "C:\Users\Artur\Desktop\Pytesseract_test.py", line 19, in <module>
print(pytesseract.image_to_string(Image.open(filename)))
File "C:\Users\Artur\AppData\Local\Programs\Python\Python36\lib\site-packages\PIL\Image.py", line 2580, in open
fp = builtins.open(filename, "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'Bewegung_UHF_Plots.m'