如何执行独立的 .py 并继续执行原始 .py 中的下一行代码?

How to execfile an independent .py and continue on to next line of code in the original .py?

我有两个 python 文件:'old.py' 和 'new.py'。我想使用 execfile("new.py") 从 'old.py' 执行 'new.py'。但是,与其等待 'new.py' 完全完成其程序,然后再移至 'old.py' 中的下一行,我希望两个脚本独立继续(即 'old.py' 移至之后的行立即执行 execfile('new.py') 命令。

例如,如果 'new.py' 需要 48 秒才能完成整个程序,并且 'old.py' 读取:

execfile("new.py")
print 2+2

我希望立即打印“4”,而不是 48 秒后。

你会如何建议这样做?

感谢您分享您的知识和专长。

您想利用 subprocess.Popen。它将在一个单独的进程中打开一个进程。

# old.py - Make sure it's chmod +x
#!/usr/bin/python
import time

time.sleep(48)

# new.py 
#!/usr/bin/python
import subprocess

subprocess.Popen(["./old.py"])
print(2+2)

>>> python new.py 
4
>>> ps
  PID TTY          TIME CMD
 2495 pts/17   00:00:00 bash
 2696 pts/17   00:00:00 old.py
 2697 pts/17   00:00:00 ps