0
我有一個簡單的程序,其中一部分是打開其他程序,例如Web瀏覽器。如何在Python中打開程序時停止線程凍結
它的確如此,os.system(sudo "program")
,但一旦程序打開,我不能對原始python程序做任何事情,直到新程序關閉。有什麼辦法可以阻止這種情況發生?
我有一個簡單的程序,其中一部分是打開其他程序,例如Web瀏覽器。如何在Python中打開程序時停止線程凍結
它的確如此,os.system(sudo "program")
,但一旦程序打開,我不能對原始python程序做任何事情,直到新程序關閉。有什麼辦法可以阻止這種情況發生?
子過程。子進程模塊將控制權返回給python並通過管道獲取結果。
import subprocess as sp
proc = sp.Popen(["program", "arg1", "arg2"], shell=False, stdout=sp.PIPE, stderr=sp.PIPE)
ret, err = proc.communicate()
「計劃」開始在proc等於....但結果(mesages,錯誤)進入管道,當你調用proc.communicate();如果不是這種情況,可以跳過stderr = sp.PIPE。