Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
15 Июн 2024
2 мин
1436

Выполнение внешних команд в Python

Одна из распространенных проблем, с которой сталкиваются разработчики на Python — это необходимость выполнить внешнюю программу или системную команду

Одна из распространенных проблем, с которой сталкиваются разработчики на 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 предоставляет удобные инструменты для выполнения внешних команд и программ прямо из кода.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий