- Как заменить строку в файле в Python?
- Пример 2: замена в том же файле
- Работа с файлами в Python
- Как читать файлы
- Как читать файл по частям
- Как читать бинарные (двоичные) файлы
- Пишем в файлах в Python
- Использование оператора «with»
- Заменить строку в файле с помощью Python
- Используйте функцию replace() , когда входные и выходные файлы различаются
- Используйте функцию replace() , когда для ввода и вывода используется только один файл
- Сопутствующая статья — Python File
- Сопутствующая статья — Python String
Как заменить строку в файле в Python?
В следующем примере мы заменим строку в файле 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 мы научились заменять строку на другую в файле с помощью подробных примеров.
Работа с файлами в Python
В данном материале мы рассмотрим, как читать и вписывать данные в файлы на вашем жестком диске. В течение всего обучения, вы поймете, что выполнять данные задачи в Python – это очень просто. Начнем же.
Как читать файлы
Python содержит в себе функцию, под названием «open», которую можно использовать для открытия файлов для чтения. Создайте текстовый файл под названием test.txt и впишите:
Вот несколько примеров того, как использовать функцию «открыть» для чтения:
В первом примере мы открываем файл под названием test.txt в режиме «только чтение». Это стандартный режим функции открытия файлов. Обратите внимание на то, что мы не пропускаем весь путь к файлу, который мы собираемся открыть в первом примере. Python автоматически просмотрит папку, в которой запущен скрипт для text.txt. Если его не удается найти, вы получите уведомление об ошибке IOError. Во втором примере показан полный путь к файлу, но обратите внимание на то, что он начинается с «r». Это значит, что мы указываем Python, чтобы строка обрабатывалась как исходная. Давайте посмотрим на разницу между исходной строкой и обычной:
Как видно из примера, когда мы не определяем строку как исходную, мы получаем неправильный путь. Почему это происходит? Существуют определенные специальные символы, которые должны быть отображены, такие как “n” или “t”. В нашем случае присутствует “t” (иными словами, вкладка), так что строка послушно добавляет вкладку в наш путь и портит её для нас. Второй аргумент во втором примере это буква “r”. Данное значение указывает на то, что мы хотим открыть файл в режиме «только чтение». Иными словами, происходит то же самое, что и в первом примере, но более явно. Теперь давайте, наконец, прочтем файл!
Введите нижеизложенные строки в скрипт, и сохраните его там же, где и файл test.txt.
После запуска, файл откроется и будет прочитан как строка в переменную data. После этого мы печатаем данные и закрываем дескриптор файла. Следует всегда закрывать дескриптор файла, так как неизвестно когда и какая именно программа захочет получить к нему доступ. Закрытие файла также поможет сохранить память и избежать появления странных багов в программе. Вы можете указать Python читать строку только раз, чтобы прочитать все строки в списке Python, или прочесть файл по частям. Последняя опция очень полезная, если вы работаете с большими фалами и вам не нужно читать все его содержимое, на что может потребоваться вся память компьютера.
Давайте обратим внимание на различные способы чтения файлов.
Если вы используете данный пример, будет прочтена и распечатана только первая строка текстового файла. Это не очень полезно, так что воспользуемся методом readlines() в дескрипторе:
Есть вопросы по Python?
На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!
Telegram Чат & Канал
Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!
Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!
После запуска данного кода, вы увидите напечатанный на экране список, так как это именно то, что метод readlines() и выполняет. Далее мы научимся читать файлы по мелким частям.
Как читать файл по частям
Самый простой способ для выполнения этой задачи – использовать цикл. Сначала мы научимся читать файл строку за строкой, после этого мы будем читать по килобайту за раз. В нашем первом примере мы применим цикл:
Таким образом мы открываем файл в дескрипторе в режиме «только чтение», после чего используем цикл для его повторения. Стоит обратить внимание на то, что цикл можно применять к любым объектам Python (строки, списки, запятые, ключи в словаре, и другие). Весьма просто, не так ли? Попробуем прочесть файл по частям:
В данном примере мы использовали Python в цикле, пока читали файл по килобайту за раз. Как известно, килобайт содержит в себе 1024 байта или символов. Теперь давайте представим, что мы хотим прочесть двоичный файл, такой как PDF.
Как читать бинарные (двоичные) файлы
Это очень просто. Все что вам нужно, это изменить способ доступа к файлу:
Мы изменили способ доступа к файлу на rb, что значит read-binaryy. Стоит отметить то, что вам может понадобиться читать бинарные файлы, когда вы качаете PDF файлы из интернете, или обмениваетесь ими между компьютерами.
Пишем в файлах в Python
Как вы могли догадаться, следуя логике написанного выше, режимы написания файлов в Python это “w” и “wb” для write-mode и write-binary-mode соответственно. Теперь давайте взглянем на простой пример того, как они применяются.
ВНИМАНИЕ: использование режимов “w” или “wb” в уже существующем файле изменит его без предупреждения. Вы можете посмотреть, существует ли файл, открыв его при помощи модуля ОС Python.
Вот так вот просто. Все, что мы здесь сделали – это изменили режим файла на “w” и указали метод написания в файловом дескрипторе, чтобы написать какой-либо текст в теле файла. Файловый дескриптор также имеет метод writelines (написание строк), который будет принимать список строк, который дескриптор, в свою очередь, будет записывать по порядку на диск.
Выбирайте дешевые лайки на видео в YouTube на сервисе https://doctorsmm.com/. Здесь, при заказе, Вам будет предоставлена возможность подобрать не только недорогую цену, но и выгодные персональные условия приобретения. Торопитесь, пока на сайте действуют оптовые скидки!
Использование оператора «with»
В Python имеется аккуратно встроенный инструмент, применяя который вы можете заметно упростить чтение и редактирование файлов. Оператор with создает диспетчер контекста в Пайтоне, который автоматически закрывает файл для вас, по окончанию работы в нем. Посмотрим, как это работает:
Заменить строку в файле с помощью Python
- Используйте функцию replace() , когда входные и выходные файлы различаются
- Используйте функцию 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 . Строка заменяется, и данные записываются в этом режиме, а затем файл закрывается.
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
Сопутствующая статья — Python File
Сопутствующая статья — Python String
Copyright © 2023. All right reserved