如何同时运行多个python文件
我有三个文件pop.py pop1.py pop2.py我想同时运行此文件 该文件正在逐一运行 python代码来运行所有文件
答案 0 :(得分:2)
您可以使用子流程模块轻松完成此操作。
import subprocess
process1 = subprocess.Popen(["python", "pop.py"]) # Create and launch process pop.py using python interpreter
process2 = subprocess.Popen(["python", "pop1.py"])
process3 = subprocess.Popen(["python", "pop2.py"])
process1.wait() # Wait for process1 to finish (basically wait for script to finish)
process2.wait()
process3.wait()
答案 1 :(得分:1)
是否必须是python解决方案?考虑到上述问题,最简单的方法是在bash中启动所有三个:
python pop.py &
python pop1.py &
python pop2.py &
wait # wait for all three to finish, if needed
虽然此解决方案可同时运行它们,但您应考虑为什么使其并发。您是否正在尝试并行化计算?流程是否进行沟通(例如,生产者/消费者模式)?它们之间是否有依赖关系?在除最简单的情况以外的所有情况下,通常最好将三个python模块捆绑到一个python包中,并添加一些运行程序代码,以导入所有这三个模块,并以线程开头(请参见oren revenge的回答)并处理任何过程通信。
答案 2 :(得分:0)
像这样创建 Shell文件
python pop.py
python pop1.py
python pop2.py
并运行 .sh 文件。 .sh 一次运行多个文件
答案 3 :(得分:0)
我建议阅读Python中的threading。您应该考虑将代码重新排列在一个文件中。
PSEUDOCODE
import threading
class Pop(threading.Thread):
def run(self):
# Content from "pop.py"
# Maybe some some changes are needed
class Pop1(threading.Thread):
def run(self):
# Content from "pop1.py"
# ...
pop = Pop()
pop1 = Pop1()
# ...
pop.start()
pop1.start()
# ...
答案 4 :(得分:0)
在每个python文件中使用main()函数,然后将所有文件导入主文件中。然后调用所有主要功能。
SELECT GROUP_CONCAT(Qry ORDER BY TblSchema, TblName SEPARATOR ' UNION ')
FROM
(
SELECT
TABLE_SCHEMA as TblSchema,
TABLE_NAME as TblName,
CONCAT('select visitorId from ',TABLE_SCHEMA,'.',TABLE_NAME,'\r\n') as Qry
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME LIKE 'record_201812%'
AND COLUMN_NAME = 'visitorId'
) Q;
答案 5 :(得分:0)
import test1,test2
from threading import Thread
Thread(target=test2.main).start()
Thread(target=test1.main).start()
此脚本同时运行test1.py和test2.py。 希望这会有所帮助。