Как указывает трассировка, ошибка возникает во время вызова на .encode
, , а не во время вызова на .decode
. Следовательно, вы не можете решить проблему, изменив код .decode
c.
Поскольку код работает в Python 3.x (six.PY3
верно, но почему вас беспокоит вопрос 2. x совместимость в новом коде, написанном сегодня?), и поскольку ' '.join(text)
работал, мы заключаем, что text
является либо строкой, либо списком строк (не bytes
или списком bytes
), а ' '.join(text)
это строка Действительно, документация говорит нам, что WikiCorpus
уже предоставит строки.
Эта строка содержит символ, который ваш код c, cp1254.py
(это код Windows) страница, специально предназначенная для текста Turki sh), не может быть закодирована. Мне не ясно, что вы надеетесь сделать sh кодированием, а затем декодированием снова. Просто используйте строку. На самом деле, text
уже должна быть единственной строкой, которая не нуждается в .join
(если, по какой-то причине, вы не хотите ставить пробел после каждой буквы). Вы должны убедиться в этом сами, выполнив отладку.