Освоение искусства выполнения внешних программ на Python: руководство с примерами кода

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

Метод 1: использование модуля подпроцесса
Модуль подпроцесса — это мощный инструмент, который позволяет создавать новые процессы, подключаться к их каналам ввода/вывода/ошибок и получать их коды возврата. Вот пример того, как вы можете его использовать:

import subprocess
# Execute a system command
subprocess.call("ls -l", shell=True)

Метод 2: использование модуля os
Модуль os позволяет выполнять системные команды путем вызова оболочки базовой операционной системы. Вот пример:

import os
# Execute a system command
os.system("echo Hello, world!")

Метод 3: использование системной команды
Встроенная команда Python system— еще один простой способ выполнения внешних программ. Он возвращает статус завершения выполненной команды. Вот пример:

# Execute a system command
exit_status = system("python script.py")

Метод 4: использование функции subprocess.run() (Python 3.5+)
Начиная с Python 3.5, в модуле подпроцесса появилась функция высокого уровня под названием run(), которая упрощает выполнение внешних программ.. Вот пример:

import subprocess
# Execute a system command
result = subprocess.run(["echo", "Hello, world!"], capture_output=True, text=True)
print(result.stdout)

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