У меня есть скрипт, который вызывает командный файл.Когда этот файл выполняется, он создает огромное количество текстовых файлов в течение длительного периода времени.Я пытаюсь удалить большинство этих файлов (только файлы с определенной строкой) одновременно, чтобы избежать ненужного заполнения дисковой памяти и сделать навигацию по папкам после вывода более практичной.
Я пытаюсь использоватьмногопроцессорная, но я не могу не запускать файл bat и функцию удаления параллельно.Сразу после того, как летучая мышь закончилась, начинается удаление.
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()
По сути, идея состоит в том, чтобы запустить пакетный файл, а в фоновом режиме - другой процесс, постоянно повторяющийся в папке для удаления всех требуемых файлов.
Спасибо!