Одна из распространенных проблем, с которой сталкиваются разработчики на Python — это необходимость выполнить внешнюю программу или системную команду прямо из своего кода. Примером может быть ситуация, когда требуется запустить скрипт оболочки или команду операционной системы для получения информации о системе, запуска других программ и т.д.
Python предоставляет несколько встроенных модулей и функций для работы с системными командами и выполнения внешних программ. Одним из таких модулей является модуль os
.
Модуль os
в Python предоставляет функции для взаимодействия с операционной системой. Функция os.system()
позволяет выполнять системные команды.
import os os.system('ls')
В этом примере команда ls
будет выполнена, и результат ее выполнения будет выведен на экран.
Однако, этот способ имеет свои недостатки. В частности, он не позволяет обрабатывать вывод команды как строку в Python. Для этого лучше использовать модуль subprocess
.
Модуль subprocess
предназначен для запуска новых приложений или программ, которые можно контролировать из своего кода. Этот модуль позволяет создавать дополнительные процессы, соединяться с их вводом/выводом/ошибками и получать их коды возврата.
import subprocess output = subprocess.run(['ls', '-l'], capture_output=True, text=True) print(output.stdout)
В этом примере мы используем функцию subprocess.run()
, чтобы выполнить команду ls -l
. Мы также используем два дополнительных аргумента: capture_output=True
, чтобы перехватить вывод команды, и text=True
, чтобы вернуть этот вывод в виде строки. Затем мы выводим результат на экран.
Таким образом, Python предоставляет удобные инструменты для выполнения внешних команд и программ прямо из кода.
Добавить комментарий