Найти - Пользователи
Полная версия: Проблема с кодировкой при просмотре файлов в каталоге
Начало » Python для новичков » Проблема с кодировкой при просмотре файлов в каталоге
1
Gipahs
Здравствуйте, подскажите пожалуйста в чем ошибка. при просмотре файлов в каталоге, их пути отображаются неправильно . Я понимаю что дело в кодировке, но ничего не помогает, вставлял в начале # -*- coding:utf-8 -*-. Кодировка самих файлов ANSI-Кириллица, но переправлять кодировку на utf-8 в блокноте не хотелось бы. Пример кода
import os
dir = r'e:/t_files/'
name = os.listdir(dir)
for i in name:
pyt = os.path.join(dir, i)
print pyt
вот что выводится

e:/t_files/�����_������������_��������_��.lg
e:/t_files/����������_����������_������_�_���.lg
e:/t_files/����_�_�����_������.lg

Еще одна особенность, первый раз при запуске программы все пути файлов отобразились правильно. но при внесении изменений в файл, возникла вот такая ошибка.
Прочел здесь несколько тем связанных с этим вопросов, но до конца не разобрался.
o7412369815963
попробуй:
в начало: в начале # -*- coding:utf-8 -*-
и вывод:
print pyt.decode('utf8').encode('cp866')
Gipahs
o7412369815963
попробуй:
в начало: в начале # -*- coding:utf-8 -*-
и вывод:
print pyt.decode('utf8').encode('cp866')
Не помогло пишет ошибку

return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: ‘utf8’ codec can't decode byte 0xc2 in position 12: invalid continuation byte
Vader
Мне кажется, что сначала все-таки нужно раскодировать ansi, а потом уже выводить/писать в файл:
#Вывести в консоль нормальный путь
pyt.decode('cp1251').encode('cp866')
#Записать в файл в utf-8
pyt.decode('cp1251').encode('utf8')
Gipahs
Vader
Мне кажется, что сначала все-таки нужно раскодировать ansi, а потом уже выводить/писать в файл:
#Вывести в консоль нормальный путь
pyt.decode('cp1251').encode('cp866')
#Записать в файл в utf-8
pyt.decode('cp1251').encode('utf8')
Спасибо большое
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