我需要解决的问题是如何从python3启动程序,以便将控制权传递回python脚本以执行其他操作。我已经尝试过os.system和subprocess.call
import subprocess, os
os.system('gedit&')
subprocess.call(['gedit','&'])
两者似乎都在等待gedit,因为它正在等待来自gedit的某种流。如果我键入gedit&在终端,我在python之外得到了预期的效果。
答案 0 :(得分:2)
使用subprocess.Popen
:
subprocess.Popen(['gedit'])
subprocess.call
基本上执行上面的行,但随后在生成的对象上调用communicate
,等待它退出。由于您不想等待,您可以不致电communicate
,系统会创建流程,让您的流程继续畅快。