我有一个调用批处理文件的脚本。执行此文件时,它会在很长一段时间内创建大量文本文件。我试图同时删除大多数文件(仅删除具有特定字符串的文件),以避免不必要地填充磁盘内存,并使输出后的文件夹导航更加实用。
我正在尝试使用多处理程序,但是无法并行运行bat文件和delete函数。蝙蝠结束后,便立即开始删除。
import os
import pathlib
def deleteOutput(script_folder):
for filename in os.listdir(script_folder):
if filename.endswith('.BAT_OUTPUT'):
os.unlink(os.path.join(script_folder,filename))
def run(script_folder):
file_to_open = script_folder / "run.bat"
os.system(str(file_to_open))
if __name__=="__main__":
script_folder = pathlib.Path(__file__).parent
p = multiprocessing.Process(name='p', target=run(script_folder))
p1 = multiprocessing.Process(name='p1', target=deleteOutput(script_folder))
p.start()
p1.start()
基本上,这个想法是让批处理文件运行,并在后台执行另一个过程,不断在文件夹中进行迭代以删除所有所需文件。
谢谢!