Найти - Пользователи
Полная версия: Не работает метод title() для строки
Начало » Python для новичков » Не работает метод title() для строки
1 2
Lotus
Добрый день. Есть проблема с преобразованием регистра в строке. Список строк с фамилиями загружается из текстового файла, от туда берётся случайная строка. Далее над ней выполняется метод title(), так как в файле все строки в верхнем регистре.
    f_fam = open('F_Zh.txt', 'r')       
    fam_list = f_fam.readlines()           
    name_list = f_name.readlines()          
    fam = random.choice(fam_list)[:-1]      
    fa = fam.title()
До последней строки всё работает как надо, но строка fa = fam.title() не делает ничего, в переменную fa, строка из fam копируется без изменений, вся в верхнем регистре. Сроки состоят из русских букв. Кодировка в открываемом файле, файле .py и в среде выполнения UTF-8.
Подскажите в чём проблема.
alex925
Файл в студию
Lotus
Файл программы.
# -*- coding: UTF-8 -*-
__author__ = 'Lotos'
import random
f_fam = open('F_Zh.txt', 'r')           # Файл с фамилиями
fam_list = f_fam.readlines()            # Список фамилий
fam = random.choice(fam_list)[:-1]      # Случайный элемент списка фамилий
fa = fam.title()
print fa
alex925
Зачем мне код? Ты его с самого начала выложил. Текстовый файл, который ты открываешь сюда залей.
Lotus
Файл данных
alex925
Все работает
Lotus
У меня результатом выполнения является строка из заглавных букв. Скриншот прилагаю. Среда разработки PyCharm
alex925
А у вас 2, я проверял на 3. На 2 сейчас проверил, тож не работает.
Lotus
Да. Python 2.7.
Хм… Вроде бы стандартная функция совершенно. Не думал, что в разных версиях возможны проблемы. Не подскажете какие-нибудь альтернативы, чтобы и во второй работало?
alex925
Если честно не представляю, в чем проблема. Сейчас доку смотрю
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