Задать вопрос
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами

Как добиться одинаковой обработки юникода Python-скрипта в консоли и в Spyder (IDE)?

Есть скрипт на Python, парсящий несколько десятков тысяч страниц. Отладка и запуск данного кода в Spyder проходит без каких-либо ошибок. Страницы парсятся корректно, и скрипт успешно отрабатывает.

В консоли же запуск этого же скрипта неизменно вываливает ошибки вида
"UnicodeEncodeError: 'ascii' codec can't encode characters in position 3-4: ordinal not in range(128)"
Как добиться одинакового поведения работы скрипта в Spyder и в консоли?

Система Ubuntu 12.10. Локаль в консоли:
LANG=en_US.UTF-8
LANGUAGE=en_US:UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=

Spyder с дефолтовыми настройками.
Скрипт использует юникод по умолчанию:
# -*- coding: utf-8 -*-
  • Вопрос задан
  • 3009 просмотров
Подписаться 5 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
adugin
@adugin Куратор тега Python
Все конструкции вида
print text
заменить на
print text.encode('utf-8')
(Предполагаю, что все строки у Вас юникодные)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы