Как получить результат команды os.system в Python?

В Python для получения результатов выполнения команды операционной системы можно использовать несколько различных подходов. Один из них - использование модуля subprocess.

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

Вот пример использования модуля subprocess для получения результата выполнения команды с помощью os.system:

import subprocess

# Команда, результат которой мы хотим получить
command = "echo 'Hello, world!'"

# Выполнение команды с помощью os.system
os.system(command)

# Выполнение команды с помощью subprocess
result = subprocess.check_output(command, shell=True)
print(result)

В этом примере мы сначала выполняем команду с помощью os.system, чтобы продемонстрировать, как это делается. Однако, os.system не возвращает результат выполнения команды. Затем мы выполняем ту же самую команду с помощью subprocess.check_output, который возвращает результат выполнения команды в виде байтовой строки. Мы используем параметр shell=True, чтобы указать, что нужно использовать командную оболочку операционной системы для выполнения команды.

Результат выполнения команды будет сохранен в переменной result, и мы можем его вывести на экран с помощью print(result).

Обратите внимание, что использование subprocess.check_output включает запуск команды в отдельном процессе, поэтому этот подход может быть более ресурсоемким по сравнению с os.system.