Неизвестный тип вывода CalledProcessError

Пытаюсь отловить исключение, возникающее при вызове команды cd (Windows 10). переменная exc.output представляет из себя что-то вроде 'b\x8d\xa5\xa2\xa5\xe0\xad\xae \xa7\xa0\xa4\xa0\xad\xae \xa8\xac\xef \xaf\xa0\xaf\xaa\xa8.\r\n', как конвертировать данную строку в человеко читаемый текст?

import subprocess

def run_cd(args=''):
    try:
        output = subprocess.check_output(['cd', f'{args}'], 
                                          stderr=subprocess.STDOUT,
                                          shell=True)
    except subprocess.CalledProcessError as exc:
        print('error catched')
        print(exc.output)
    else:
        return output.decode("utf-8").strip()

Ответы (1 шт):

Автор решения: gil9red

Попробуйте указывать кодировку консоли windowscp866

print(exc.output.decode("cp866"))

Проверка кодировки:

data = b'\x8d\xa5\xa2\xa5\xe0\xad\xae \xa7\xa0\xa4\xa0\xad\xae \xa8\xac\xef \xaf\xa0\xaf\xaa\xa8.\r\n'
print(data.decode('cp866'))
# Неверно задано имя папки.
→ Ссылка