25 lines
836 B
Python
25 lines
836 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')
|