|
Python, как считать файл с конца до определенного значения(файл лога почты) ?
|
|||
---|---|---|---|
#18+
Приветствую, стоит задача выбрать из лога почты только те строки, которые больше определенной даты(каждая строка в логе соответствует факту отправки и имеет дату-время). Т.е мне нужно грубо говоря, построчно перебрать заранее неизвестно кол-во строк с конца файла, пока не дойду до нужной мне даты. Как это осуществить? Пробовал варианты с чтением в буфер с конца файла и сдвигом указателя при помощи seek на предыдущий перевод строки, но т.к у меня 3-я версия питона, то вариант с переходом назад при помощи seek не проходит, вылетает ошибка "io.UnsupportedOperation: can't do nonzero cur-relative seeks" как я понял, это из-за того что работаем с юникодом, а там может быть разный размер символа. Далее попробовал вариант с deque , в целом всё норм, но только она возвращает N-е кол-во строк с конца файла, т.е заранее известное кол-во, у меня же неизвестно сколько строк мне нужно зачитать. Мне нужно зачитать все, пока не дойду до определенной даты. В целом задача состоит в парсинге файла лога почты и записи в базу все строк, которые больше определенной даты и по которым статус "Отправлено". ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 11:50 |
|
|
start [/forum/topic.php?fid=23&fpage=4&tid=1459487]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 148ms |
0 / 0 |