3

我正在使用 subprocess 使用其默认程序打开一个文件,然后使用 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 编辑器从那里导出图像。

4

1 回答 1

0

您可以Popen.wait()用于此目的。它将等待子进程终止。

于 2016-03-26T20:46:05.313 回答