
Библиотека subprocess
Самый функциональный класс в данной библиотеке - Popen. Он так же позволяет выполнять дочерние программы в новых процессах, но позволяет намного гибче с ними взаимодействовать.
К примеру если у вас сервер на линукс, о обязательно установлен python 2. Приведенный ниже код заменит интерпретатор python 2 на современную версию python 3:
Обычно Popen не ждет завершения процесса, используйте wait, чтобы избежать этого.
Самый функциональный класс в данной библиотеке - Popen. Он так же позволяет выполнять дочерние программы в новых процессах, но позволяет намного гибче с ними взаимодействовать.
К примеру если у вас сервер на линукс, о обязательно установлен python 2. Приведенный ниже код заменит интерпретатор python 2 на современную версию python 3:
'test.py'], executable='python3')
Мы можем так же сохранить весь ввод и ошибки или перенаправить их прямо в файл для сохранения. А можно заставить выполняться процесс в фоновом режиме или дождаться ее завершения. Последние две возможности можно использовать асинхронно с asyncio. Обычно Popen не ждет завершения процесса, используйте wait, чтобы избежать этого.