Чтобы заменить строку в файле с помощью Python, выполните следующие действия:
- Откройте входной файл в режиме чтения и обработайте его в текстовом режиме.
- Откройте выходной файл в режиме записи и обработайте его в текстовом режиме.
- Для каждой строки, прочитанной из входного файла, замените строку и напишите в выходной файл.
- Закройте как входные, так и выходные файлы.
Пример 1
В следующем примере мы заменим строку в файле data.txt и запишем результат в out.txt.
#input file
fin = open("data.txt", "rt")
#output file to write the result to
fout = open("out.txt", "wt")
#for each line in the input file
for line in fin:
#read replace the string and write to output file
fout.write(line.replace('pyton', 'python'))
#close input and output files
fin.close()
fout.close()
Что мы здесь сделали:
- Открыли data.txt в режиме чтения текста rt и получили ссылку на fin.
- Открыли out.txt в режиме записи текста wt и получили ссылку на fout.
- for line in fin: для каждой строки в fin, т.е. data.txt, line.replace() заменяет строковый pyton на python и fout.write и записывает в out.txt.
- fin.close(): закрывает файл, на который ссылается fin, fout.close() закрывает файл, на который ссылается fout.
Welcome to www.tonais.ru. Here, you will find pyton programs for all general use cases.
Вывод:
Welcome to www.tonais.ru. Here, you will find python programs for all general use cases.
Строка pyton в файле заменяется строкой python.
Пример 2: замена в том же файле
В следующем примере мы заменим строку в файле data.txt и перезапишем файл data.txt с замененным текстом.
#read input file
fin = open("data.txt", "rt")
#read file contents to string
data = fin.read()
#replace all occurrences of the required string
data = data.replace('pyton', 'python')
#close the input file
fin.close()
#open the input file in write mode
fin = open("data.txt", "wt")
#overrite the input file with the resulting data
fin.write(data)
#close the file
fin.close()
Что мы здесь сделали:
- Открыли файл data.txt в режиме чтения текста rt.
- fin.read() считал весь текст из data.txt в переменные data.
- data.replace() заменил все вхождения во всем тексте.
- fin.close() закрыл входной файл data.txt.
- В последних трех строках мы открыли data.txt в режиме записи текста wt и записали данные в data.txt в режиме замены. Наконец закрыли файл data.txt.
Welcome to www.tonais.ru. Here, you will find pyton programs for all general use cases.
Тот же входной файл после выполнения программы.
Welcome to www.tonais.ru. Here, you will find python programs for all general use cases.
В этом руководстве в Python мы научились заменять строку на другую в файле с помощью подробных примеров.
А теперь представьте ситуацию, когда файл размером 20Гб. Вариант с заменой строки тот же — только переписывать весь файл в другой, с исправленной строкой?
Так а что вы хотели?