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

时间:2015-10-10 07:17:56

标签: python python-2.7 execfile

我有两个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秒后。

你会如何推荐这样做?

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

1 个答案:

答案 0 :(得分:1)

您想要使用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