![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Stain |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 22.9.2005 Репутация: нет Всего: нет |
Имею логи сервера, необходимо его весь прочитать и записать в БД.
Первая проблема с которой столкнулся это переполнение памяти при чтении большого файла. Часть скрипта выглядит следующим образом: import sys path = "путь_к_логу\access_sqid.log" f=open(path, 'r') while 1: line = f.readline() if not lines: break print line sys.stdout.flush() f.close() Хватит ли в этом "скрипте" sys.stdout.flush() что-бы переполнения не происходило? Заранее благодарен за любые ответы. |
|||
|
||||
| Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: нет Всего: 40 |
стоп стоп стоп. так как у вас написано никакого переполнения в помине быть не может (если конечно это не бинарный файл где в 1 строку туча мегабайтов). А вот строчка if not lines: учитывая, что вы считываете в line, наводит на мысль, что раньше это выглядело немного не так, а скажем lines = f.readlines() что совсем другой коленкор. Тогда конечно возможна нехватка памяти. -------------------- Бонифаций. |
|||
|
||||
| Stain |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 22.9.2005 Репутация: нет Всего: нет |
вот немножко подправил скрипт:
import sys path = "путь_к_логу\access_squid.log" try: fopen = open(path, 'r') try: while 1: line = fopen.readline() if not line: break sys.stdout.flush() print ">>>",line finally: fopen.close() print "\n------------ \nbue!" except IOError: print "File Not Found" собсна так выглядит читалка лога (это мой первый скрипт появилось два вопроса: 1. возможна ли нехватка памяти при таком раскладе? 2. если нет, то нужнали вообще строка sys.stdout.flush() для информации. лог большой примерно на 10 гигов. хотелось бы написать нормальний скрипт анализа этого лога. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Python: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |