我已将问题更新为更清楚了 我想在后台打印数字时执行功能并检查条件。
import time
number = [1,100]
t0 = time.time()
for i in number:
print i
t1= time.time()
def sum_two_numbers():
t2 = time.time()
c=1+2
t3 =time.time()
verify t0<t2 and t3<<t1
答案 0 :(得分:1)
由于这两个脚本完全独立,只需使用subprocess.Popen()
:
import subprocess
script1 = subprocess.Popen(['/path/to/script1', 'arg1', 'arg2', 'etc'])
script2 = subprocess.Popen(['/path/to/script2', 'arg1', 'arg2', 'etc'])
就是这样,两个脚本都在后台运行 1 。如果您要等待其中一个完成,请根据需要致电script1.wait()
或script2.wait()
。例如:
import subprocess
script1 = subprocess.Popen(['sleep', '30'])
script2 = subprocess.Popen(['ls', '-l'])
script1.wait()
您会发现脚本2将生成其输出并在脚本1之前终止。
如果你需要捕获任一子进程的输出,那么你将需要使用管道,然后事情变得更复杂。
1 这里&#34;背景&#34;不同于在shell中运行的后台进程的通常的* nix概念;例如,没有工作控制。 WRT subprocess
,简单地创建一个新的子进程并加载所请求的可执行文件。如果shell=False
按照默认Popen()
选项,则不涉及shell。