我试图使用并发期货在不同的文件夹中同时执行几个python代码。代码运行正常,但是当我检查子文件夹时,我没有看到任何输出,所以我假设我调用的python代码从未执行过。 代码首先在所有文件夹中找到具有特定名称的python脚本,然后并行调用它们。将输出写入另一个文本文件中,因此我的目标是让他们将文本文件写入脚本所在的文件夹中。 例如:
Folder A
ReadTextFileV9-10.py
Folder B
ReadTextFileV9-10.py
我希望out out是
Folder A
ReadTextFileV9-10.py
Output.txt
Folder B
ReadTextFileV9-10.py
Output.txt
这是我的代码。
from concurrent import futures
import re
import os
import timeit
import os
import glob
import re
from glob import glob
import subprocess
FileList = [];
start_dir = os.getcwd();
pattern = "ReadTextFileV9-10.py"
for dir,_,_ in os.walk(start_dir):
FileList.extend(glob(os.path.join(dir,pattern))) ;
print(FileList)
def Run_Code(Str):
return subprocess.run(Str)
futuress=[]
def main_function(FileList):
with futures.ProcessPoolExecutor(max_workers=2) as executor:
#results = executor.map(Run_Code, FileList)
for file in FileList:
future = executor.submit(subprocess.run, file)
futuress.append(future)
return futuress
results=main_function(FileList)
我很感激,如果有人能帮助我弄清楚我做错了什么。
由于