Читайте из файла журнала, как он пишется с помощью Python

Я пытаюсь найти хороший способ считать файл журнала в режиме реального времени с помощью Python. Я хотел бы к производственным линейкам от файла журнала по одному, как он записан. Так или иначе я должен продолжать пытаться считать файл, пока он не создается, и затем продолжите к производственным линейкам, пока я не завершаю процесс. Существует ли соответствующий способ сделать это?Спасибо.

47
задан Anon 20 July 2010 в 13:16
поделиться

3 ответа

Вы можете попробовать что-то вроде этого:

import time

while 1:
    where = file.tell()
    line = file.readline()
    if not line:
        time.sleep(1)
        file.seek(where)
    else:
        print line, # already has newline

Пример взят из здесь.

26
ответ дан 26 November 2019 в 19:47
поделиться

Взгляните на этот PDF, начиная со страницы 38, ~слайд I-77, и вы найдете всю необходимую информацию. Конечно, остальные слайды тоже удивительны,но те, которые конкретно касаются вашего вопроса:

import time
def follow(thefile):
    thefile.seek(0,2) # Go to the end of the file
    while True:
        line = thefile.readline()
        if not line:
            time.sleep(0.1) # Sleep briefly
            continue
        yield line
46
ответ дан 26 November 2019 в 19:47
поделиться

Возможно, вы могли бы выполнить системный вызов

tail -f

с помощью os.system()

-6
ответ дан 26 November 2019 в 19:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: