Задача скрипта - пробежаться по указанному каталогу и распаковать все найденные zip-архивы. Раньше за 5 секунд писал подобные скрипты, но тут застрял. При выполнении python (кстати, версия 2.6) сказал, что
UnicodeEncodeError: ‘charmap’ codec can't encode character u'\xab' in position 10: character maps to undefined
Ошибка происходила на строчке
print(file.decode('cp1251').encode('cp866'))
Зная, что подобный код работает в куче других моих скриптов, я начал докапываться до истины. Оказалось, что в директории был файл, в названии которого присутствовал символ “. Удостоверившись, что проблема именно в этом файле, переименовываю его уже без символа ”. После этого все стало отлично и скрипт выполнялся без ошибок. Меня это несколько удивило. Попробовал вернуть название назад, но w7 стала ругаться и говорить “снимите защиту от записи”. Сами архивы были закачены торрентом. То есть каким-то образом создать файлы с символом " в системе можно, но адекватно работать с ними w7 не хочет.
Если кто-нибудь может объяснить подобное поведение - буду признателен.
А вообще написал это, чтобы другие не тратили время на отладку в python. Я то сначала полез rtfm по поводу кодировок и юникода.