TGViewer
Python Academy Python Academy @python_academy · 44.2K subscribers
Post #2136 4.68K
Использование внешних процессов в 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
  • 👍 6
  • ❤ 3
More from @python_academy
  1. Sep 28, 2026SCons SCons — это современная система сборки программного обеспечения, основанная на Pytho…
  2. Sep 27, 2026Что такое глубокая копия? Глубокая копия используется для хранения значений, которые уже с…
  3. Sep 26, 2026Pyrogram: Работа с Telegram API на Python Pyrogram - это выдающаяся библиотека на Python,…
  4. Sep 25, 2026Функция reload() Функция reload() в Python перезагружает ранее импортированный модуль. Это…
  5. Sep 24, 2026FFmpeg: Лучшее решение для обработки мультимедийных файлов FFmpeg - это бесплатная и откры…
  6. Sep 23, 2026Возврат нескольких значений из функции Знаете ли вы, что можно осуществлять возврат нескол…
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 →