TGViewer
Python Academy Python Academy @python_academy · 44.3K subscribers
Post #2549 2.43K
Использование внешних процессов в Python с помощью subprocess

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

Что такое subprocess?

subprocess - это модуль Python, который предоставляет множество возможностей для запуска новых процессов, подключения к существующим процессам, а также обмена данными между вашим кодом и внешними программами.

Пример использования subprocess:

import subprocess

# Простой пример: выполнение команды "ls" в командной строке
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE, text=True)

# Вывод результата выполнения команды
print(result.stdout)


В данном примере мы использовали subprocess.run для выполнения команды "ls -l". Параметр stdout=subprocess.PIPE указывает на перенаправление вывода команды в переменную result.stdout. Параметр text=True гарантирует, что вывод будет в текстовом формате.

Передача данных и получение результата:

import subprocess

# Передача данных в команду и получение результата
input_data = "Hello, subprocess!"
result = subprocess.run(['echo', input_data], stdout=subprocess.PIPE, text=True)

# Вывод результата выполнения команды
print(result.stdout)


В данном примере мы использовали команду echo для вывода переданных данных. subprocess.run позволяет передавать данные в команду через параметр input.

subprocess также предоставляет множество других функций для более сложных сценариев взаимодействия с процессами, таких как запуск процесса в фоновом режиме, обработка ошибок, а также потоковый вывод данных.

#python #subprocess
  • ❤ 5
  • 👎 1
More from @python_academy
  1. Sep 22, 2026Получение срезов итераторов Если вы попытаетесь получить срез итератора, то столкнётесь с…
  2. Sep 21, 2026Хэширование Хэш — это целое число фиксированного размера, которое идентифицирует определен…
  3. Sep 20, 2026Понимание различий между операторами сравнения == и is Множество разработчиков сталкиваютс…
  4. Sep 19, 2026Быстрый deque deque предпочтительнее, чем обычный список, когда нужны более быстрые операц…
  5. Sep 19, 2026⁠Упаковка параметров с помощью urlencode Довольно часто приходится работать с разнообразны…
  6. Sep 18, 2026Поиск уникальных слов в текстовом файле в Python Чтобы найти уникальные слова в текстовом…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →