在python中,当每个脚本中包含多个线程时,从一个主脚本同时运行两个脚本

running two scripts simultaneously from a master script when each script has multiple threads within it in python(在python中,当每个脚本中包含多个线程时,从一个主脚本同时运行两个脚本)
本文介绍了在python中,当每个脚本中包含多个线程时,从一个主脚本同时运行两个脚本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从master script同时运行两个或多个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中,当每个脚本中包含多个线程时,从一个主脚本同时运行两个脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)