Leitura de um arquivo atualizado com frequência

Atualmente, estou escrevendo um programa em python em um sistema Linux. O objetivo é ler um arquivo de log e executar um comando bash ao encontrar uma sequência específica. O arquivo de log está sendo gravado constantemente por outro programa. Minha pergunta é

Se eu abrir o arquivo usando o método open (), meu objeto de arquivo Python será atualizado à medida que o arquivo real for gravado pelo outro programa ou terei que reabrir o arquivo em intervalos de temp

Obrigad

Jim

UPDATE: Obrigado por respostas até agora. Talvez eu devesse ter mencionado que o arquivo está sendo gravado por um aplicativo Java EE, portanto não tenho controle sobre quando os dados são gravados nele. Atualmente, tenho um programa que reabre o arquivo a cada 10 segundos e tenta ler a partir da posição do byte no arquivo que ele leu pela última vez. No momento, apenas imprime a string retornada. Eu esperava que o arquivo não precisasse ser reaberto, mas o comando de leitura de alguma forma teria acesso aos dados gravados no arquivo pelo aplicativo Java.

#!/usr/bin/python
import time

fileBytePos = 0
while True:
    inFile = open('./server.log','r')
    inFile.seek(fileBytePos)
    data = inFile.read()
    print data
    fileBytePos = inFile.tell()
    print fileBytePos
    inFile.close()
    time.sleep(10)

Obrigado pelas dicas sobre pyinotify e geradores. Vou dar uma olhada nelas para obter uma solução melho

questionAnswers(6)

yourAnswerToTheQuestion