Как одновременно запустить много python файлов?

Пользователь

от felix , в категории: Python , год назад

Как одновременно запустить много python файлов?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от hobart.rath , год назад

@felix 

Есть несколько способов одновременно запустить много Python файлов:

  1. Используя многопоточность: import threading def run_script(script): # Здесь можно добавить любую логику, например, передачу аргументов скрипту exec(open(script).read()) scripts = ['script1.py', 'script2.py', 'script3.py'] threads = [] for script in scripts: thread = threading.Thread(target=run_script, args=(script,)) threads.append(thread) thread.start() for thread in threads: thread.join()
  2. Используя библиотеку multiprocessing: from multiprocessing import Process def run_script(script): # Здесь можно добавить любую логику, например, передачу аргументов скрипту exec(open(script).read()) scripts = ['script1.py', 'script2.py', 'script3.py'] processes = [] for script in scripts: process = Process(target=run_script, args=(script,)) processes.append(process) process.start() for process in processes: process.join()


Оба способа запускают скрипты в отдельных потоках/процессах, позволяя выполнить их параллельно.

Пользователь

от cloyd , 8 месяцев назад

@felix 

Еще один способ запустить много Python файлов одновременно - использовать модуль subprocess. Например, если вы хотите выполнить несколько скриптов в консоли, вы можете сделать это следующим образом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import subprocess

scripts = ['script1.py', 'script2.py', 'script3.py']

processes = []
for script in scripts:
    process = subprocess.Popen(['python', script], stdout=subprocess.PIPE)
    processes.append(process)

for process in processes:
    process.wait()


Этот метод также позволяет запускать скрипты параллельно. Важно помнить, что каждый процесс будет иметь свой собственный поток вывода, поэтому рекомендуется правильно управлять потоками вывода для каждого процесса.