from subprocess import check_output
import chardet
result = check_output("dir c:", shell = True)
print (chardet.detect(result))
result2 = result.decode("windows-1251")
print(result2)
print(result2.splitlines())
Пытаюсь запустить команду cmd и разбить результат по строкам. В разультате получается лист в котором есть не понятные символы. Как решить пробему с кодировкой?
{'encoding': 'windows-1255', 'confidence': 0.8130048251836375, 'language': 'Hebrew'}
Volume in drive C has no label.
Volume Serial Number is 7A6A-0829
Directory of c:\my_code
15.11.2017 22:16 <DIR> .
15.11.2017 22:16 <DIR> ..
15.11.2017 22:26 506 comline.py
15.11.2017 22:16 0 comline.txt
30.10.2017 23:31 430 080 Database11.accdb
28.10.2017 23:11 217 088 Database2.mdb
31.10.2017 21:54 <DIR> geodata
23.10.2017 13:32 285 hello.py
24.10.2017 16:43 828 urllib2.py
26.10.2017 08:29 498 urllib3.py
15.11.2017 22:11 0 привет, как дела.txt
34 File(s) 8 564 755 bytes
4 Dir(s) 43 900 641 280 bytes free
[' Volume in drive C has no label.', ' Volume Serial Number is 7A6A-0829', '', ' Directory of c:\\my_code', '', '15.11.2017 22:16 <DIR> .', '15.11.2017 22:16 <DIR> ..', '15.11.2017 22:26 506 comline.py', '15.11.2017 22:16 0 comline.txt', '30.10.2017 23:31 430\xa0080 Database11.accdb', '28.10.2017 23:11 217\xa0088 Database2.mdb', '31.10.2017 21:54 <DIR> geodata', '23.10.2017 13:32 285 hello.py', '24.10.2017 08:51 575 helpdesk_summary.py', '23.10.2017 16:38 192\xa0864 helpdesk_summary.txt', '26.10.2017 12:33 566 json1.py', '27.10.2017 10:35 538 json2.py', '12.12.2016 23:38 652\xa0714 Library.xml', '28.10.2017 13:39 6\xa0819\xa0048 mbox.txt', '28.10.2017 14:20 8\xa0192 my.sqlite', '21.10.2017 16:27 166 q.py', '21.10.2017 16:26 28\xa0602 regex_sum_41851.txt', '21.10.2017 16:10 28\xa0550 regex_sum_42.txt', '12.11.2017 12:02 1\xa0462 roster.py', '30.10.2017 23:01 1\xa0466 roster0.py', '30.10.2017 23:28 1\xa0450 roster2.py', '30.10.2017 22:58 73\xa0728 rosterdb.sqlite', '30.10.2017 22:53 16\xa0245 roster_data.json', '15.11.2017 21:04 692 sber.py', '12.11.2017 11:56 1\xa0109 sber.txt', '15.11.2017 21:04 301 sber_out.txt', '22.10.2017 10:17 323 socket1.py', '28.10.2017 14:20 646 sql1.py', '12.11.2017 12:02 901 sql2.py', '28.10.2017 23:28 53 sql3.py', '03.11.2017 17:41 <DIR> text_based_adventure', '29.10.2017 10:03 81\xa0920 trackdb.sqlite', '29.10.2017 10:19 2\xa0700 tracks.py', '12.11.2017 12:02 374 tracks2.py', '24.10.2017 09:23 285 urllib1.py', '24.10.2017 16:43 828 urllib2.py', '26.10.2017 08:29 498 urllib3.py', '15.11.2017 22:11 0 привет, как дела.txt', ' 34 File(s) 8\xa0564\xa0755 bytes', ' 4 Dir(s) 43\xa0900\xa0641\xa0280 bytes free']
\xa0— экранированная запись неразрывного пробела, вполне понятный и нормальный символ. – andreymal Nov 15 '17 at 19:30