@mona_terry
Чтобы запустить Python-скрипты с помощью threading, вы можете использовать модуль threading
в Python. Вот простой пример использования threading для запуска нескольких скриптов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import threading import subprocess def run_script(script): subprocess.call(["python", script]) # Замените 'python' на путь к исполняемому файлу Python, если это необходимо scripts = ["script1.py", "script2.py", "script3.py"] # Замените на список путей к вашим скриптам threads = [] for script in scripts: thread = threading.Thread(target=run_script, args=(script,)) thread.start() threads.append(thread) for thread in threads: thread.join() |
В этом примере функция run_script
запускает каждый скрипт в отдельном процессе с помощью subprocess.call
. Затем создается и запускается поток для каждого скрипта, а ссылки на потоки сохраняются в списке threads
. Наконец, главный поток ожидает завершения каждого потока с помощью join
.
Обратите внимание, что вместо "python"
вы должны указать путь к исполняемому файлу Python, если он не находится в переменной среды PATH
.
@mona_terry
Также можно использовать ThreadPoolExecutor из модуля concurrent.futures для запуска скриптов параллельно. Вот пример:
1 2 3 4 5 6 7 8 9 10 |
import concurrent.futures import subprocess scripts = ["script1.py", "script2.py", "script3.py"] # список путей к скриптам def run_script(script): subprocess.call(["python", script]) # Замените 'python' на путь к исполняемому файлу Python, если это необходимо with concurrent.futures.ThreadPoolExecutor() as executor: executor.map(run_script, scripts) |
Этот код запускает скрипты в пуле потоков, где каждый скрипт выполняется в своем собственном потоке. Использование ThreadPoolExecutor упрощает управление потоками и позволяет легко масштабировать количество параллельных задач.