Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата:
По долгу службы приходиться сталкиваться с большими лог файлами (по 50 Гб к примеру). В связи с этим накатал программку для разбивки этих файлов по строкам. Программа проста и не замысловата и имеет всего три функции:

Собственно первая функция разделит файл на равное количество строк. В папке с программой создастся папка «new_folder» в ней будут создаваться файлы «1.txt», «2.txt» и тд, в каждый из которых будет писаться ровно столько строчек, сколько вы укажете;
Вторая функция вырежет из файла указанный диапазон строк. И в папке «new_folder» создастся файл «new_file.txt» в него собственно и запишутся строки;
Спрашивается — зачем? Уже было написано выше — надо фильтровать, и желательно — быстрым способом. Есть OLE DB, есть Log Parser, есть WSH/PowerShell на худой конец. Питон, это, конечно, хорошо. Но сначала читать весь файл только для того, чтобы подсчитать количество строк в нём (я в курсе, что другого способа нет), а затем повторно из него же опять читать по одной строке и писать по одной строке — это, простите, мало того что двойная и ненужная работа, так ещё и самый неэффективный способ.

Отправлено: 19:43, 28-08-2017 | #9