@trickster2019

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

Добрый день, пытаюсь написать скрипт для автоматизации восстановления Windows, но столкнулся с проблемой.
Сам скрипт.
import os
from re import *

answer=os.system("sfc /scannow")

pattern="Защита ресурсов Windows не обнаружила нарушений целостности."

result=findall(pattern, answer)
if(len(result)==1):
    print("в системе нет ошибок")
else:
    print("в системе были найдены ошибки, запустить восстановление?")
    response_user=input("[y/n]- ")
    if(response_user=="y"):
        print("Восстановление началось")
        os.system("dism /Online /Cleanup-Image /RestoreHealth")

Я ожидал что получу что то типа этого
Начато сканирование системы.  Этот процесс может занять некоторое время.
Начало стадии проверки при сканировании системы.
Проверка 100% завершена.
Защита ресурсов Windows не обнаружила нарушений целостности.

Через регулярное выражение узнаю результат выполнения операции, и всё будет хорошо, но к несчастью не получилось не фартануло. answer несёт в себе Int а не строку как я ожидал.
Я попытался решить проблему через subprocess, но толи subprocess не хочет работать с кириллицей, толи у меня руки из жопы (что скорее всего), но этот вариант тоже отвалился.
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Я попытался решить проблему через subprocess, но толи subprocess не хочет работать с кириллицей

Ставь кодировку CP866.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы