gonets/SRV/core/cli_executor.py

28 lines
839 B
Python
Raw Normal View History

import subprocess
from typing import Tuple
class CLIExecutor:
"""
Класс для выполнения CLI-команд
"""
@staticmethod
def run(command: list) -> Tuple[int, str]:
"""
Выполняет команду в системе и возвращает код и вывод.
Args:
command (list): Список аргументов команды для выполнения.
Returns:
tuple: Код возврата и вывод команды.
"""
result = subprocess.run(
command,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
check=False, # Не вызываем исключение при ошибке
)
return result.returncode, result.stdout.decode("utf-8")