0

我一直在尝试创建一个脚本,如果互联网闪烁,它会重新加载一个名为 Midori 的网络浏览器。但是,它似乎只有在我通过 CLI 打开 Midori 时才有效 - 否则,程序在我重新加载后崩溃。我决定最好的办法是让脚本通过subprocess模块打开 Midori。所以,我把它作为我代码中的第一个参数之一:

import subprocess as sub
sub.call(["midori"])

浏览器打开,但程序的其余部分冻结,直到我退出 Midori。我曾尝试使用线程,但它似乎不起作用。

有没有办法通过 Python 打开应用程序,然后在打开所述应用程序后让脚本的其余部分继续运行?

4

1 回答 1

2

文档

运行 args 描述的命令。等待命令完成,然后返回 returncode 属性。

(重点补充)

你可以看到这是我们应该期待的行为。要解决此问题,请subprocess.Popen改用。这不会以同样的方式阻塞:

from subprocess import Popen
midori_process = Popen(["midori"])
于 2013-04-14T00:00:35.707 回答