Я использую подпроцесс, чтобы открыть файл с его программой по умолчанию, а затем отправить ему нажатия клавиш, используя библиотеку pyautogui.
Моя проблема в том, что когда вы открываете файл, требуется время, чтобы открыть его в программе по умолчанию, и, конечно, этот период времени различается для разных файлов.
Итак, как я могу создать паузу в своем скрипте, чтобы файл должен был открываться первым, и ему отправлялись нажатия клавиш?
Примечание: функция sleep() — это не то, что я ожидаю. Мне нужна своего рода асинхронизация между запущенным приложением и моим скриптом.
from subprocess import Popen
from sys import argv
from pyautogui import press,hotkey
if len(argv)>0:
word = Popen(['start',argv[1]],shell=True)
press("f12")
press("tab")
press("right")
for i in range(5): press("down")
press("enter")
hotkey("alt","f4")
word = None
pdf = Popen(["C:\Program Files\Nitro\Pro 9\NitroPDF.exe",argv[1]])
hotkey("ctrl","shift","i")
press("enter")
hotkey("alt","f4")
Я создаю программу для открытия документа Word и отправки ему нажатия клавиш, чтобы сохранить его в формате pdf. Затем я открываю другой PDF-редактор, чтобы экспортировать оттуда изображение.