Я пытаюсь получить доступ к сетевому сканеру для сканирования документов с помощью этого кода. Это библиотека и код, который я использую
import sane
sane.init()
class saneScanner(object):
def __init__(self, URI):
self.URI = URI
def __enter__(self):
self.dev = sane.open(self.URI)
return self.dev
def __exit__(self, exception_type, exception_value, traceback):
self.dev.close()
print(exception_type, exception_value, traceback)
def t():
with saneScanner("airscan:HP OfficeJet Pro 8020 series [973B68]") as k:
return k.opt
print(t())
Я заканчиваю с этой ошибкой
Traceback (most recent call last):
File "with.py", line 23, in <module>
print(t())
File "/usr/local/lib/python3.7/dist-packages/sane.py", line 86, in __repr__
curValue = repr(getattr(self.scanDev, self.py_name))
File "/usr/local/lib/python3.7/dist-packages/sane.py", line 232, in __getattr__
return d['dev'].get_option(opt.index)
_sane.error: SaneDev object is closed
Если удалить оператор возврата из функции t ( ), ошибки не выдается. Можете ли вы дать мне знать, где я иду не так
Заранее спасибо