Это старая версия документа!
Исполнение внешних программ
Запуск с ожиданием завершения
Простейший метод запуска программы метод os.system
:
import os
ret = os.system("ls -la")
# Программа ждет завершения команды
# вызванной через os.system
# Код возврата ret
Запуск без ожидания завершения
Метод subprocess.Popen
по умолчанию запускает процесс без ожидания завершения:
import subprocess
subprocess.Popen(["long_time_process"])
Запуск с получением вывода
import subprocess
data = subprocess.getoutput('ls /bin/ls')
print(data)
Что еще нужно знать о запуске внешних программ
- Если вы нажимаете Ctrl-C пока внешняя программа запущена через os.system, то этот сигнал уйдет ей, а не Python.
- Можно взаимодействовать с интерактивными консольными приложениями пока те запущены, но это не просто.
- Большинство приложений с графическим интерфейсом в качестве первого и единственного аргумента принимают имя файла, который должен быть в них открыт.
- Выполнить принудительное завершение запущенной внешней программы можно только в случае, если она запущена через
Popen
.
ext/call.1616071110.txt.gz · Последнее изменение: 2021/03/18 12:38 — root
Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Share Alike 4.0 International