Изменить регистр всех символов в файле .txt с помощью Python

Опубликовано: 14 Февраля, 2023

В этой статье мы узнаем, как изменить регистр всех символов, присутствующих в текстовом файле, с помощью 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) + " ")

Выход: