У меня есть скрипт, который постоянно делает скриншоты через PIL ImageGrab. Код выглядит так:
def updateScreenshot(self):
self.screen = ImageGrab.grab()
Функция updateScreenshot()
вызывается довольно часто, например, 2-3 раза в секунду. Скрипт работал нормально, пока я не провела рефакторинг класса и не переместила весь код, связанный со скриншотами, во внешний класс модели, который инкапсулирует всю логику скриншота. Теперь мой основной класс имеет:
self.screenshotService = ScreenshotService()
в его функции __init_
_. Затем ScreenshotService запускает updateScreenshot()
. Первые несколько попыток updateScreenshot()
все еще работают, после этого возникает следующая ошибка:
File "...\screenshotService.py", line 15, in updateScreenshot
self.screen = ImageGrab.grab()
File "C:\Python34\lib\site-packages\PIL\ImageGrab.py", line 31, in grab
size, data = grabber()
Я нашел:
- https://github.com/python-pillow/Pillow/issues/1601
- Сделайте скриншот с помощью скрипта Python. [Linux]
но это на самом деле не указывает мне правильное направление.
Есть идеи? Спасибо.
Python 3.4,
PIL: 5.4.1