28 lines
839 B
Python
28 lines
839 B
Python
|
|
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")
|