Изменить регистр всех символов в файле .txt с помощью Python
В этой статье мы узнаем, как изменить регистр всех символов, присутствующих в текстовом файле, с помощью Python. Мы будем использовать методы Python Python upper() для преобразования всех символов в верхний регистр и Python lower() для преобразования всех символов в нижний регистр.
Например, если у нас есть текстовый файл data.txt , как показано ниже.
Измените все символы в верхнем регистре из текстового файла
В этом методе мы будем читать строку за строкой из текстового файла, менять регистр и записывать эту строку в новый текстовый файл. Мы прочитаем каждую строку из этого файла, изменим регистр и запишем в файл output.txt.
Python3
with open ( "data.txt" , "r" ) as data_file: # open output.txt file in append mode with open ( "output.txt" , "a" ) as output_file: # read each line from data.txt for line in data_file: # change case for the line and write # it into output file output_file.write(line.upper()) |
Выход:
Измените все символы в нижнем регистре из текстового файла
В этом методе мы прочитаем весь файл, преобразуем регистр всех символов и запишем его в новый файл. Здесь также мы возьмем тот же текстовый файл data.txt и прочитаем весь файл, преобразуем символы в нижний регистр с помощью метода lower() и запишем в файл output.txt .
Python3
with open ( "data.txt" , "r" ) as data_file: # open output.txt file in append mode with open ( "output.txt" , "a" ) as output_file: # read data.txt file, convert case, # and write to output.txt file output_file.write(data_file.read().lower()) |
Выход:
Сделать заглавной первую букву каждого слова из текстового файла
Таким образом, первая буква каждого слова, найденного в текстовом файле, будет заглавной. Входным файлом будет тот же файл data.txt. Нам нужна встроенная техника, чтобы просто изменить первую букву на заглавную. Поэтому, используя новую функцию, мы пройдемся по каждому слову в файле и изменим регистр первой буквы слова.
Python3
def capitalize_first_letter(wrd): # convert first letter to upper and # append the rest of the string to it return wrd[ 0 ].upper() + wrd[ 1 :].lower() # open data.txt file in reading mode with open ( "data.txt" , "r" ) as data_file: # open output.txt file in append mode with open ( "output.txt" , "a" ) as output_file: # traverse each line in data.txt file for line in data_file: # split line into words word_list = line.split() # apply function capitalize_first_letter # on each word in current line word_list = [capitalize_first_letter(word) for word in word_list] # write the line into output.txt file after # capitalizing the first letter in a word # in the current line output_file.write( " " .join(word_list) + "
" ) |
Выход: