У меня есть приложение на Python, которое будет выполняться неоднократно.Это сохраняет PDF как файл и затем печатает это.Когда печать заканчивается, он удаляет файл.
Мое текущее решение (для части печати и удаления):
win32api.ShellExecute(0, "print", file_path, None, ".", 0)
time.sleep(10)
os.remove(self.options.dest_name)
time.sleep(10)
равно трюк , чтобы дать процессу печати время до удаления файла.Без этого Acrobat Reader открывается (он все равно открывается) и предупреждает, что не может найти файл.Это потому, что удаление файла уже произошло.
Вопрос :
как я могу это сделать без этого ненадежного трюка?Лучше всего было бы иметь обработчик для процесса печати и получать по нему информацию о состоянии печати: я жду, пока он сообщит о завершении, и удаляю файл.
было бы еще лучше, если бы Acrobat Reader не открывался, но это не большая проблема.
РЕДАКТИРОВАТЬ: я пытался переключиться на Foxit Reader в качестве чтения PDF по умолчанию, и теперь он нене открывается, когда я не хочу.;)
ДРУГОЕ ВОЗМОЖНОЕ РЕШЕНИЕ : Цилиндрическая проверка, доступен ли файл (не используется другим процессом) и снова доступен, удалите его.Как я мог сделать это на Python?