ich derzeit pytesseract bin mit der eine Ausnahme-Klasse definiert wie folgt:Python Ausnahmeklasse nicht definiert ist, kein Attribut
class TesseractError(Exception):
def __init__(self, status, message):
self.status = status
self.message = message
self.args = (status, message)
in meinem main.py ich mehrere Möglichkeiten versucht, diese Ausnahme für die Ausnahmebehandlung zu verwenden, aber ich habe keinen "TesseractError" Attributfehler und keinen "TesseractError" Fehler bekommen.
1.
>>> from pytesseract import TesseractError
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name 'TesseractError'
2.
>>> import pytesseract
>>> try: raise pytesseract.TesseractError(True,"True")
... except TesseractError: print("error")
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'pytesseract' has no attribute 'TesseractError'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
NameError: name 'TesseractError' is not defined
3.
>>> import pytesseract
>>> try: raise TesseractError(True,"True")
... except TesseractError: print("error")
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'TesseractError' is not defined
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
NameError: name 'TesseractError' is not defined
Allerdings, wenn ich die folgenden in Terminal versuchen, es funktioniert einfach.
>>> class ERR(Exception): pass
>>> try: raise ERR()
... except ERR: print("error found")
error found
so scheint es, es ist die einführende Schritt falsch ist, aber ich weiß nicht, was es verursacht.
Diese Ausnahme nicht auf der obersten Ebene des Pakets ausgesetzt ist, nur 'image_to_string' ist. Wenn Sie es wollen, müssen Sie 'von pytasseract.pytesseract importieren TesseractError'. – jonrsharpe
Es hat funktioniert! Wie funktioniert die Top-Level-Belichtung hier? – user14042
Ich bin mir nicht sicher, was du meinst. Was direkt aus dem Paket verfügbar ist, wird durch ['__init __. Py'] (https://github.com/madmaze/pyteseract/blob/master/src/__init__.py) definiert, auf alles andere muss explizit vom Modul zugegriffen werden. – jonrsharpe