0

我的 Python 脚本中有以下 while 循环

while 1:   
    functionToGetXandY
    if x == z:
        os.system("google-chrome --start-maximized " + x)
        currentLink = latestLink

    if y == z:
         subprocess.call([vlc_path, "--fullscreen", z])

    time.sleep(1)

每当通过脚本启动 Chrome 或 VLC 时,循环似乎都会停止 - 或者有时会等到打开的窗口关闭。我错过了什么?

注意:无限循环是故意的 - 脚本不断检查 XML 文件以执行命令(该部分有效)

4

1 回答 1

2

subprocess.call和都阻塞调用os.system。这意味着当您调用其中任何一个时,您的脚本会暂停,直到您调用的程序退出。

如果您希望您的 Python 脚本立即继续执行,您可能需要查看subprocess.Popen哪个是非阻塞的并且采用几乎相同的subprocess.call参数

于 2013-01-15T18:57:44.677 回答