Найти - Пользователи
Полная версия: Не работает метод title() для строки
Начало » Python для новичков » Не работает метод title() для строки
1 2
alex925
Попробуй мой файл.
Я уже натыкался сегодня на вопрос где были проблемы подобного рода, как выяснилось интерпретатор почему-то глючит на текстовиках созданных в видноус (стандартным блокнотом).
Вот дай угадаю, твой файл тоже блокнотом создан.

P.S С файлом созданным мной все работает норм и если строку завать в самой программе (проверял в интерактивном режиме).
Lotus
Тоже самое: по прежнему всё в верхнем регистре.
alex925
Тогда это магия какая-то, у меня все заработало нормально, когда я сам файл создал.
Ты мой файл не менял?
Lotus
Нет. И для своего содержимое скопировал в новый файл, потом сконвертировал его в Unicod и сохранил. Тот же результат. Думаю попробовать его в ANSI сохранить и оттуда загрузить, ради эксперимента. Правда
fam.decode('ANSI')
интерпретатор не распознаёт. Как кодировка ANSI правильно называется?
terabayt
fam = random.choice(fam_list)[:-1]      # Случайный элемент списка фамилий
fa = unicode(fam, 'utf-8').title().encode('utf-8')
print fa
Lotus
О, да! Заработало! Спасибо!
JOHN_16
Да, как сказано выше, все дело в том что для не ASCII символов большинство или даже все строковые методы подобного назначения работают толкьо с объектами Unicode
>>> s='ПрИвЕт'
>>> su=u'ПрИвЕт'
>>> print s.title()
ПрИвЕт
>>> print su.title()
Привет
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB