(Python) Подсчет строк в огромном (> 10 ГБ) файле как можно быстрее [дубликат]
На этот вопрос уже есть ответ:
Как узнать количество строк в Python? 37 ответов У меня сейчас очень простой скрипт, который считает строки в текстовом файле с помощьюenumerate()
:
i = 0
f = open("C:/Users/guest/Desktop/file.log", "r")
for i, line in enumerate(f):
pass
print i + 1
f.close()
Это займет около 3 с половиной минут, чтобы просмотреть 15 ГБ файл журнала с ~ 30 миллионами строк. Было бы здорово, если бы я мог получить это менее чем за две минуты или меньше, потому что это ежедневные журналы, и мы хотим проводить ежемесячный анализ, поэтому код должен будет обработать 30 журналов по ~ 15 ГБ - возможно, более полутора часов и мы хотели бы минимизировать время и нагрузку на сервер.
Я также согласился бы на хороший метод аппроксимации / оценки, но он должен быть примерно с точностью до 4 сигов ...
Спасибо