Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
ext:call [2021/03/18 12:38] root |
— (текущий) | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | <div slide> | ||
- | ====== Исполнение внешних программ ====== | ||
- | |||
- | ===== Запуск с ожиданием завершения ===== | ||
- | |||
- | Простейший метод запуска программы метод '' | ||
- | |||
- | <sxh python> | ||
- | import os | ||
- | |||
- | ret = os.system(" | ||
- | # Программа ждет завершения команды | ||
- | # вызванной через os.system | ||
- | |||
- | # Код возврата ret | ||
- | </ | ||
- | |||
- | </ | ||
- | |||
- | ===== Запуск без ожидания завершения ===== | ||
- | |||
- | Метод '' | ||
- | |||
- | <sxh python> | ||
- | import subprocess | ||
- | |||
- | subprocess.Popen([" | ||
- | </ | ||
- | |||
- | </ | ||
- | |||
- | ===== Запуск с получением вывода ===== | ||
- | |||
- | <sxh python> | ||
- | import subprocess | ||
- | |||
- | data = subprocess.getoutput(' | ||
- | |||
- | print(data) | ||
- | </ | ||
- | |||
- | </ | ||
- | ===== Что еще нужно знать о запуске внешних программ ===== | ||
- | |||
- | * Если вы нажимаете Ctrl-C пока внешняя программа запущена через os.system, то этот сигнал уйдет ей, а не Python. | ||
- | * Можно взаимодействовать с интерактивными консольными приложениями пока те запущены, | ||
- | * Большинство приложений с графическим интерфейсом в качестве первого и единственного аргумента принимают имя файла, который должен быть в них открыт. | ||
- | * Выполнить принудительное завершение запущенной внешней программы можно только в случае, | ||
- | |||
- | </ | ||