2015-10-24 2 views
0

Мой код:Python - UTF-8 кодирования вопрос

path = "d:\\path\\" 
dirs = os.listdir(path) 
print u'Files:' 
for i in dirs: 
    if i[-3:] == 'xls': 
     print i 

file = raw_input('File: ') 
workbook = xlrd.open_workbook(file) 

Мои filesnames содержит буквы как "". workbook = xlrd.open_workbook(file) не может использовать файл из raw_input. Имя файла - «mondayń.xls». Я получаю ошибку: нет такого файла или каталога: 'monday \ xe4.xls'. Команда print i дает правильные имена файлов. Как я могу это решить? Прошу прощения за мой английский ...

P.S. Я использую python 2.7.10 и Win10

ответ

0

Файлы находятся в D:\\path, но вы только печатаете имена файлов, а затем открываете имя, которое они набирают. Вам нужно присоединиться к имени к пути, например. с fullpath = os.path.join(path, file), затем откройте это.

+0

Я могу открыть файл monday.xls, но я не могу открыть файл mondayń.xls. Путь в порядке, я полагаю. – jundymek

+0

Вы пробовали декодировать путь к unicode? Windows может быть тонкой в ​​отношении кодировок, когда дело доходит до файлов, но я считаю, что Python обрабатывает пути «unicode». – ShadowRanger

+0

Я пробовал почти все ... Я не могу это решить. Я могу открыть файл, используя workbook = xlrd.open_workbook (u'fileń.xls '), но не могу использовать workbook = xlrd.open_workbook (файл) – jundymek

Смежные вопросы