如何在程序内部执行程序而不会阻塞,直到执行的程序完成?
我尝试过:
os.system()
但是它会阻止我的程序直到执行的程序停止/关闭。有没有办法让我的程序在外部程序执行后继续运行?
如何在程序内部执行程序而不会阻塞,直到执行的程序完成?
我尝试过:
os.system()
但是它会阻止我的程序直到执行的程序停止/关闭。有没有办法让我的程序在外部程序执行后继续运行?
subprocess
来实现这个功能:import subprocess
import codecs
# start 'yourexecutable' with some parameters
# and throw the output away
with codecs.open(os.devnull, 'wb', encoding='utf8') as devnull:
subprocess.check_call(["yourexecutable",
"-param",
"value"],
stdout=devnull, stderr=subprocess.STDOUT
)
os.system
也会生成一个新的进程,而subprocess
则可以让你更好地控制它。 - Nick Bastin