linuxには、tail -fという便利なコマンドがあります。os.statというものがあるというのを今日知ったのでちょこっとソースを書いてみた。引数から渡されたファイルを監視するようにしています。ファイルの末尾への移動、現在のファイルポインタの位置の取得方法、ファイルからのデータの読み出し方法だけで実現しています。
※久しぶりにpython触りました。
sample.py
# -*- coding: utf-8 -*-
import time
import os
import sys
from stat import *
def usage():
	print "Usage: # python %s filename" % argv[0]
	quit()
def init(filename):
	file = open(filename,'r')
	#ファイル末尾へ移動
	st_results = os.stat(filename)
	st_size = st_results[ST_SIZE]
	file.seek(st_size)
	return file
def tail_f(file, usec):
	msec = usec / 1000
	while 1:
		fpos = file.tell()
		line = file.readline()
		if not line:
			time.sleep(msec)
			file.seek(fpos)
		else:
			print line,
	# 未到達
	file.close()
	pass
if __name__ == '__main__':
	argv  = sys.argv
	argc  = len(argv)
	if( argc != 2 ):
		usage()
	filename = argv[1]
	file = init(filename)
	tail_f(file, 500)
ちなみにlinuxでしか使わないのであれば、tail -fのラッパースクリプトにしちゃうという手もありですね。
sample.py
import sys
import os
if __name__ == '__main__':
	argv = sys.argv
	argc = len(argv)
	if argc != 2:
		print "test",
		quit()
	
	filename = argv[1]
	os.system('tail -f ' + filename )