В настоящее время я вызываю метод "convert" -cygwin из Python. Он должен конвертировать PDF в файл PNG. Однако, если я вызываю метод convert и напрямую пытаюсь получить доступ к результирующему png, возникает проблема, поскольку очевидно, что png еще не полностью реализован.
Мой код:
import os
import cv2
cmd = 'set PATH="C:/cygwin64/bin";"%PATH%" && cd '+os.path.dirname(PDFPath)+' && run convert -density 300 '+os.path.basename(PDFPath)+' -quality 100 -alpha off '+ img_path
os.system(cmd)
img = cv2.imread(img_path,0)
Если я сделаю это, png будет фактически создан, но img равен None, поскольку, по-видимому, на момент вызова imread () изображение не существовало.
Я тоже пробовал что-то вроде
while not os.path.exists(img_path):
time.sleep(10)
, а затем попытался прочитать (), который работал. Есть ли способ убедиться, что файл действительно существует перед вызовом img_path?
Я не хочу продолжать использовать time.sleep (), так как есть небольшое изменение, что в конце сна png все еще не полностью загружен из памяти.