Заменить строку в файле с помощью Python

  1. Используйте функцию replace(), когда входные и выходные файлы различаются
  2. Используйте функцию replace(), когда для ввода и вывода используется только один файл

Работа с файлами - важный аспект любого веб-приложения. Python, как и другие языки программирования, поддерживает обработку файлов. Это позволяет программистам иметь дело с файлами и, по сути, выполнять некоторые базовые операции, такие как чтение, запись и некоторые другие параметры обработки файлов для работы с файлами.

Функцию open() можно использовать для открытия файла в программе Python. Файл можно открыть в текстовом или двоичном режиме, который выбирает пользователь. Функция open() имеет несколько режимов, каждый из которых обеспечивает различные варианты доступа к открываемому файлу.

Термин String в Python можно описать как набор символов Unicode, заключенных в одинарные или двойные кавычки. Строки могут содержаться внутри текстовых файлов, которые должны открываться в коде Python.

В этом руководстве будут рассмотрены различные методы замены строки в файле на Python.

Используйте функцию replace(), когда входные и выходные файлы различаются

Метод replace() в Python используется для поиска подстроки и замены ее другой подстрокой.

Функция replace() имеет три параметра, а именно newvalue, oldvalue и count. И oldvalue, и newvalue являются обязательными значениями, и предоставление функции с параметром count необязательно.

В следующем коде используется функция replace() для замены строки в Python, когда входные и выходные файлы различаются.

# the input file
fin = open("f1.txt", "rt")
# the output file which stores result
fout = open("f2.txt", "wt")
# iteration for each line in the input file
for line in fin:
	# replacing the string and write to output file
	fout.write(line.replace('gode', 'God'))
#closing the input and output files
fin.close()
fout.close()

В выводе приведенного выше кода строка gode в файле будет заменена словом God.

В приведенном выше коде мы одновременно работаем с двумя разными файлами: f1.txt и f2.txt. f1.txt открывается в режиме чтения текста rt и ссылается на end. f2.txt открывается в режиме записи текста wt и ссылается на fout. Затем цикл for повторяется, и при каждом появлении в файле строки gode она заменяется словом God. Затем оба файла закрываются после необходимых операций с помощью функции close().

Используйте функцию replace(), когда для ввода и вывода используется только один файл

В этом методе один и тот же файл используется как для ввода, так и для вывода.

Здесь мы используем оператор with вместе с функцией replace(). Менеджер контекста with выполняет фундаментальную функцию: делает программу короче и читабельнее.

Когда мы используем оператор with с обработкой файлов, файл, который мы открыли в коде Python, не нужно закрывать вручную; он автоматически закрывается после завершения блока with.

Следующий код использует функцию replace() для замены строки в Python, когда входной и выходной файл совпадают.

with open("file1.txt", "rt") as file:
	x = file.read()
	
with open("file1.txt", "wt") as file:
    x = x.replace("gode","God")
	fin.write(x)

Следующий код принимает file1 как входной и выходной файл. Сначала файл открывается в режиме чтения текста rt, а содержимое файла считывается и сохраняется в переменной. Затем файл закрывается и открывается снова, но уже в режиме записи текста wt. Строка заменяется, и данные записываются в этом режиме, а затем файл закрывается.

Сопутствующая статья - Python File

  • Как получить все файлы каталога
  • Как удалить файл и каталог на Python
  • Как добавить текст к файлу в Python
  • Как проверить, существует ли файл на Python
  • Сопутствующая статья - Python String

  • Как получить все файлы каталога
  • Как удалить файл и каталог на Python
  • Как добавить текст к файлу в Python
  • Как проверить, существует ли файл на Python