Форум сайта python.su
1
Вывожу список файлов и папок методом listdir из модуля os. Вместо названий файлов написанных на русском получаю вот такие строки ‘\xd0\x9a\xd0\xbe\xd0\xb3\xd0\xb4\xd0\xb0 \xd1\x85\xd0\xbe\xd1\x80\xd0\xbe\xd0\xbd\xd1\x8f\xd1\x82 \xd0\xbc\xd0\xbe\xd0\xbb\xd0\xbe\xd0\xb4\xd1\x8b\xd1\x85’
Отредактировано wmnpyafn (Июнь 28, 2013 18:19:17)
Офлайн
43
b'\xd0\x9a\xd0\xbe\xd0\xb3\xd0\xb4\xd0\xb0 \xd1\x85\xd0\xbe\xd1\x80\xd0\xbe\xd0\xbd\xd1\x8f\xd1\x82 \xd0\xbc\xd0\xbe\xd0\xbb\xd0\xbe\xd0\xb4\xd1\x8b\xd1\x85'.decode() Out[1]: 'Когда хоронят молодых'
Офлайн
1
Не буду же я каждую строку так делать, файлов с русскими названиями куча. Должен же быть другой вариант.
Офлайн
75
wmnpyafnМожно разобраться с циклам или кодировками на выбор.
Не буду же я каждую строку так делать
Офлайн
1
Что вы подразумеваете под тем, что разобраться с циклами я понял, а про второй вариант можете по подробней?
Офлайн
173
http://docs.python.org/2/library/os.html#os.listdir
On Windows NT/2k/XP and Unix, if path is a Unicode object, the result will be a list of Unicode objects. Undecodable filenames will still be returned as string objects.Передавайте Юникод, получите список Юникодовых путей.
os.listdir(u'path')
Офлайн
1
Ну и толку мне, что я получу в юникоде!? Я одинаково не умею читать ни строку вида ‘NTL - \xd0\x9a\xd0\xbe\xd0\xb3\xd0\xb4\xd0\xb0 \xd1\x85\xd0\xbe\xd1\x80\xd0\xbe\xd0\xbd\xd1\x8f\xd1\x82 \xd0\xbc\xd0\xbe\xd0\xbb\xd0\xbe\xd0\xb4\xd1\x8b\xd1\x85.mp3’
и не строку вида ‘NTL - \xd0\x9a\xd0\xbe\xd0\xb3\xd0\xb4\xd0\xb0 \xd1\x85\xd0\xbe\xd1\x80\xd0\xbe\xd0\xbd\xd1\x8f\xd1\x82 \xd0\xbc\xd0\xbe\xd0\xbb\xd0\xbe\xd0\xb4\xd1\x8b\xd1\x85.mp3’
Отредактировано wmnpyafn (Июль 2, 2013 15:08:50)
Офлайн
22
wmnpyafnа в чем проблема? Гдн получаете? В консоли?
на русском получаю вот такие строки ‘\xd0\x9a\xd0\xbe\xd0\xb3\xd0\xb4\xd0\xb0 \xd1\x85\xd0\xbe\xd1\x80\xd0\xbe\xd0\xbd\xd1\x8f\xd1\x82 \xd0\xbc\xd0\xbe\xd0\xbb\xd0\xbe\xd0\xb4\xd1\x8b\xd1\x85’
Офлайн
253
wmnpyafnКак говорил винипух - спокойствие и только спокойствие. Вы не объяснили что с названиями хотите сделать, вот и получили соответствующий ответ.
Ну и толку мне, что я получу в юникоде!?
wmnpyafn‘NTL - \xd0\x9a\xd0\xbe\x…."
Вывожу список файлов
Отредактировано FishHook (Июль 2, 2013 20:05:25)
Офлайн