Запуск нескольких файлов Python
Возникла потребность запускать более трех файлов .py, но столкнулся с такой проблемой, которая в PyCharm перегружает полностью ПК. Однако, через сам IDE Python идет все ровно.
Каким "методом" или способом можно одновременно (или последовательно) исполнить все файлы .py в определенной папке?
P.S. Сами программы в папке зациклены и не выводят результаты.
Ответы (1 шт):
import subprocess
files = ["foo.py", "bar.py", "foobar.py"] # файлы, которые нужно запустить
for file in files:
subprocess.Popen(args=["start", "python", file], shell=True, stdout=subprocess.PIPE)
Суть этого кода, что он посылает команды в терминал и запускает её. Для каждого файла открывается новый терминал. Этот код гарантированно работает на windows, на linux не проверял (там надо немного по-другому вроде как посылать аргументы, поправьте в комментариях если не прав).
Из недостатков такое решение проблематично дебажить (если это очень важно).
В зависимости от задачи можешь получать нужные файлы через модуль os и посылать дополнительные аргументы, дополнив список в аргументе args в subprocess.Popen, если в скрипте они вытаскиваются через sys.argv, argparse и прочие библиотеки для работы с CLI.