Форум сайта python.su
Написал скрипт для создания книжных полок в Reader-е Kobo.
В Linux (Python v3.5.2) все работает хорошо.
В Windows из под debuger PyCharm (в Setting-Project intrpreter установлен 3.5.2) тоже исполняется без ошибок.
Если запускаю вот так (Python v3.5.2):
c:\opt\python35\python.exe KoboShelf.py
file:///mnt/sd/Books/Метро 2033/Метро-2033 00 Кобелев. Прятки с Солнцем.
file:///mnt/sd/Books/Метро 2033/Метро-2033 47 Буторин Мутант.epub
. . . .
. . . .
file:///mnt/sd/Books/Метро 2033/Метро-2033 44 Киреев Белый барс.epub
file:///mnt/sd/Books/Метро 2033/Метро-2033 04 Дьяков К свету.epub
Traceback (most recent call last):
File "KoboShelf.py", line 198, in <module>
main(sys.argv)
File "KoboShelf.py", line 190, in main
addBook(location, book_path, f_name, c)
File "KoboShelf.py", line 138, in addBook
print('\t%s' % book_full_path)
File "c:\opt\python35\lib\encodings\cp866.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2013' in position
Отредактировано AxaRu (Сен. 18, 2016 23:47:58)
Офлайн
На Linux.org.ru мне подсказали, что в Linux консоль работает в utf-8, а в Windows в 1251. Отсюда и разное поведение.
str='\t%s' % book_full_path try: print(str) except UnicodeEncodeError: print(str.encode('utf-8'))
Офлайн