在不等待脚本执行的情况下调用脚本

问题描述

我想知道是否有任何方法可以调用一个python脚本并在不同的线程中完全启动该程序,这样主程序(调用者)就不必等到被调用的脚本执行完毕。到目前为止,我已经尝试了subprocess和os.system,但这两个都会延迟,直到脚本执行完毕。

main.py

os.system('"F:second.py"')
//continue the rest of the code without waiting for second.py to finish

Second d.py

//do stuff

解决方案

您可以尝试subprocess

first.py

import subprocess
subprocess.Popen(["python.exe", "second.py"])
print "done"

Second d.py

import time
for i in range(10):
    print i
    time.sleep(10)

编辑:

如果要完全分隔第一个和第二个脚本,请添加一个标志

first.py

import subprocess
subprocess.Popen(["python.exe", "second.py"], creationflags=subprocess.CREATE_NEW_CONSOLE)
print "done"

相关文章