如何从另一个文件运行python文件而不显示任何输出或等待其完成

xlpyo6sf  于 2023-02-02  发布在  Python
关注(0)|答案(1)|浏览(220)

我有一个程序2test.py,它在某个时刻想要执行1test.py,我希望它能够(a)执行脚本而不等待输出,(B)不显示第二个脚本的输出。
以下是我的工作示例:
2test.py

import subprocess
import os
print("starting")
subprocess.Popen(["python3", "1test.py", "-s" ">", "/dev/null 2>&1"])
print("done")

1test.py

import time

print("Printed immediately.")
time.sleep(2.4)
print("Printed after 2.4 seconds.")

理想情况下,2test.py是一个有时会调用1test.py的循环。
所需行为为:

~/testing$ python3 2test.py
starting
done
~/testing$

但我得到的是

~/testing$ python3 2test.py
starting
done
~/testing$ Printed immediately.
Printed after 2.4 seconds.

有人知道怎么弄吗?

tvokkenx

tvokkenx1#

通过subprocess.Popen将输出定向到/dev/null/

subprocess.Popen(["python", "1test.py"], stdout=subprocess.DEVNULL)

相关问题