<MyRusakov.ru />

Профессиональная Web-разработка. Дизайн, код и автоматизация

Профессиональная Web-разработка. Дизайн, код и автоматизация

Это очень подробный курс из разряда "всё включено". Разбираются следующие темы: HTML, CSS, SCSS, JavaScript, PHP, SQL, Laravel, Nginx, PostCSS, npm, Vite, Vitest, Composer, PHPUnit, Prettier, Stylelint, ESLint, Pint, Larastan, Git, Agile, Scrum, Docker, Supervisord, Figma, Stitch AI, Confluence, Jira.

Рассчитан и на новичков, и на тех, кто уже знаком с основами, но хочет освоить полный цикл разработки.

Помимо самой теории, Вы увидите пример создания Web-проекта на 20 000 строк кода: от идеи и документации на Confluence через планирование на Jira, fullstack-разработку до деплоя на VPS.

Помимо уроков, курс содержит упражнения для закрепления знаний и финальное тестирование. А ещё Вы получите 5 полноценных Бонусных курсов: «GitLab под ключ», «Вёрстка сайта с нуля 2.0», «JavaScript с Нуля до Гуру 2.0», «PHP и MySQL с Нуля до Гуру 3.0» и «Laravel от А до Я».

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Замена строк в файлах c помощью регулярных выражений в Python

Замена строк в файлах c помощью регулярных выражений в Python

Доброго времени суток! Одной из наиболее частых задач при обработке текстов, является замена одной строки на другую. Эта задача достаточно, простая для любого опытного пользователя компьютера. Однако, трудности возникают тогда, когда заранее неизвестно точное значение строки/строк. В таком случае, незаменимым инструментом становятся Регулярные выражения, которые позволяют делать замену по шаблону строки.

Регулярные выражения в Python доступны посредством модуля re. Этот модуль содержит все необходимые функции для работы с шаблонными строками. Поэтому, далее я покажу вам пример кода, как с помощью python, можно заменить одно значение на другое в файле. Данная операция может значительно уменьшить количество рутинных действий, по обработке большого количества файлов.

Скрипт далее читает список тестовых файлов в папке, заменяет в каждом файле некоторое значение и сохраняет изменения:

script.py


# -*- coding: utf-8 -*-
import re
import os
import time

# папка с исходными файлами
DIR = 'files'
# расширение исходных файлов
EXT = '.txt'
# регулярное выражение для замены 
REGEX_B = r'<b>(.*?)</b>'


def replace_string_file():
  
  # итерация по файлам в папке
  for file in os.listdir(DIR):
    content = ''
    
    # если это текстовый файл 
    if file.endswith(EXT):
      
      # получаем полный путь к файлу с учетом директорий
      file_path = os.path.join(DIR, file)
      
      # открываем файл на чтение
      fin = open(file_path, 'r', encoding = 'utf-8')
      
      # получаем имя файла без расширения из полного пути
      fout_name = os.path.splitext(os.path.basename(file_path))[0]
      
      # открываем файл на запись
      fout = open('files/%s_%d.txt' % (fout_name, int(time.time())), 'w', encoding = 'utf-8')
      
      # читаем содержимое исходного файла
      content = fin.read()
      # print(content)

      # регулярным выражением заменяем содержимое тега b на новое значение
      content = re.sub(REGEX_B, '<b>myrusakov</b>', content)
      
      # записываем значение
      fout.write(content)
      print(content)
      
      # обязательно(!) закрываем файлы, освобождая ресурсы ОС
      fin.close()
      fout.close()
      
      
# вызываем функцию
replace_string_file()

Рядом со скриптом создаем папку files, и для тестирования помещаем в нее следующие файлы.

файл file1.txt

Здравствуйте! меня зовут <b>Иван</b>.

файл file2.txt

Здравствуйте! меня зовут <b>Ник</b>.

файл file3.txt

Здравствуйте! меня зовут <b>Петр</b>.

файл file4.txt

Здравствуйте! меня зовут <b>Федя</b>.

запускаем скрипт

C:/> python script.py

Таким образом, после выполнения скрипта в папке files создадутся файлы с измененным содержимым. Причем исходные файлы не перезаписываются. Следуя описанным в статье рекомендациям можно в дальнейшем заменить любое сложное значение/значения в большом количестве файлов.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (https://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: https://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.