我一直在尝试创建一个脚本,如果互联网闪烁,它会重新加载名为Midori的网络浏览器。但是,如果我通过CLI打开Midori似乎只有工作 - 否则,程序在重新加载后崩溃。我已经决定最好的想法是让脚本通过subprocess
模块打开Midori。所以,我把它作为我代码中的第一个参数之一:
import subprocess as sub
sub.call(["midori"])
浏览器打开,但程序的其余部分冻结,直到我退出Midori。我曾尝试使用线程,但它似乎不起作用。
有没有办法通过Python打开一个应用程序,然后在打开所述应用程序之后让其余的脚本继续运行?
答案 0 :(得分:2)
来自the docs:
运行args描述的命令。 等待命令完成,然后返回returncode属性。
(强调补充)
您可以看到这是我们应该期待的行为。要解决此问题,请改用subprocess.Popen
。这不会以同样的方式阻止:
from subprocess import Popen
midori_process = Popen(["midori"])