【问题标题】:launch application from python3 then continue other code从 python3 启动应用程序然后继续其他代码
【发布时间】:2014-07-29 15:44:19
【问题描述】:

我需要解决的问题是如何从 python3 启动程序,从而将控制权传递回 python 脚本以执行其他操作。我已经尝试过 os.system 和 subprocess.call

import subprocess, os
os.system('gedit&')
subprocess.call(['gedit','&'])

两者似乎都在等待 gedit,从某种意义上说,它正在等待来自 gedit 的某种流。如果我在终端输入 gedit & 我会在 python 之外获得所需的效果。

【问题讨论】:

    标签: python python-3.x subprocess os.system


    【解决方案1】:

    使用subprocess.Popen:

    subprocess.Popen(['gedit'])
    

    subprocess.call 实质上执行了上述行,但随后在结果对象上调用communicate,该对象等待其退出。由于您不想等待,您可以致电communicate,然后将创建流程,让您的流程继续愉快地进行。

    【讨论】:

    • 这是我正在寻找的解决方案,谢谢。我应该对子流程做更多的研究。我很抱歉。非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2020-10-28
    • 1970-01-01
    • 2018-01-13
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多