gpt4 book ai didi

python - 当每个脚本在 python 中都有多个线程时,从主脚本同时运行两个脚本

转载 作者:行者123 更新时间:2023-11-30 21:52:00 31 4
gpt4 key购买 nike

我想从一个主脚本同时运行两个或多个Python脚本。这些脚本中的每一个都已经有并行运行的线程。例如我运行

script1.py

if __name__ == '__main__':
pid_vav = PID_VAV('B2')
t1 = threading.Thread(target=pid_vav.Controls)
t1.daemon = False
t1.start()
t2 = threading.Thread(target=pid_vav.mqttConnection)
t2.daemon = False
t2.start()

script2.py

if __name__ == '__main__':
pid_vav = PID_VAV('B4')
t1 = threading.Thread(target=pid_vav.Controls)
t1.daemon = False
t1.start()
t2 = threading.Thread(target=pid_vav.mqttConnection)
t2.daemon = False
t2.start()

我分别运行这个 script1.pyscript2.py。唯一的区别是我传递给类的参数。是否有可能有一个主脚本,这样如果我只运行它,这两个脚本都会运行?

谢谢

最佳答案

假设您希望在运行主脚本时显示两个脚本的输出。
您可以使用subprocess模块来调用python文件,并且可以使用threading模块来启动单独的线程

from threading import Thread
import subprocess

t1 = Thread(target=subprocess.run, args=(["python", "script1.py"],))
t2 = Thread(target=subprocess.run, args=(["python", "script2.py"],))

t1.start()
t2.start()

t1.join()
t2.join()

关于python - 当每个脚本在 python 中都有多个线程时,从主脚本同时运行两个脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60001867/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com