Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 9, 2011 22:02:28

Persio
От:
Зарегистрирован: 2010-04-22
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка текстового файла (например, типограф)

Задача. Есть текстовый файл (обычный txt-файл, но большого - до 3 Гб размера). В нем надо произвести множественные замены - список этих замен есть во втором текстовом файле. Каждая строка в нем - это “Что меняем” и “На что меняем”. Собственно, нужны наметки, как лучше организовать работу с файлом.

Алгоритм, я так понимаю, тут такой:

Пока есть строки в файле 2:
- Берем из файла 2 строку
- Из этой строки извлекаем ЗАМЕНЯЕМЫЙ-ТЕКСТ и ВСТАВЛЯЕМЫЙ-ТЕКСТ
- Построчно разбираем файл 1 = пока есть строки в файле 1:
- - Берем строку
- - Заменяем в ней ЗАМЕНЯЕМЫЙ-ТЕКСТ на ВСТАВЛЯЕМЫЙ-ТЕКСТ
- Сохраняем файл 1

*Текст в файле 1
*Блоки для замены в файле 2

Посоветуйте, какими методами воспользоваться?



Офлайн

#2 Апрель 10, 2011 09:59:21

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Обработка текстового файла (например, типограф)

Второй файл лучше считать целиком. Список замен откомпилировать (можно например модуль re использовать)
Файл 1 не трогать только читать из него. Писать результат в третий файл. Для чтения первого файла наверное подойдет xreadlines (зависит от версии питона). В конце обработки первый файл удаляете и переименовываете 3 файл.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version