Найти - Пользователи
Полная версия: subprocess. Вся кирилица выводится байтами.
Начало » Python для новичков » subprocess. Вся кирилица выводится байтами.
1
|R|U|D|E|N|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import subprocess
def main():
    try:
        PIPE = subprocess.PIPE
        p = subprocess.Popen("hostnamee", \
            shell=True, stdin=PIPE, stdout=PIPE, stderr=subprocess.STDOUT)
        while True:
            s = p.stdout.readline()
            if not s: break
            print(s)
    except Exception as error:
        print("ERROR UPDATE POLICE:" + str(error))
if __name__ == '__main__':
    main()

Команда которая выполняется в моем примере на самом деле не существует но суть в том как выводится русский текст:

>>>
b'“hostnamee” \xad\xa5 \xef\xa2\xab\xef\xa5\xe2\xe1\xef \xa2\xad\xe3\xe2\xe0\xa5\xad\xad\xa5\xa9 \xa8\xab\xa8 \xa2\xad\xa5\xe8\xad\xa5\xa9\r\n'
b'\xaa\xae\xac\xa0\xad\xa4\xae\xa9, \xa8\xe1\xaf\xae\xab\xad\xef\xa5\xac\xae\xa9 \xaf\xe0\xae\xa3\xe0\xa0\xac\xac\xae\xa9 \xa8\xab\xa8 \xaf\xa0\xaa\xa5\xe2\xad\xeb\xac \xe4\xa0\xa9\xab\xae\xac.\r\n'
>>>

Как получить русский текст в консоле Winodows? Подскажите пожалуйста.
reclosedev
Для русской версии win (и приведенного текста):
s = s.decode('cp866')
|R|U|D|E|N|
Спасибо болшое! Все работает.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB