Joost Molenaar於 2013年10月5日星期六UTC+8下午7時02分05秒寫道: > A bit of googling found me this: > > http://www.linux-support.com/cms/implementation-of-tail-in-python/ > > > > import time > > import sys > > > > def tail_f(file): > > interval = 1.0 > > while True: > > where = file.tell() > > line = file.readline() > > if not line: > > time.sleep(interval) > > file.seek(where) > > else: > > yield line
After tried many times, updated text file is not shown, it only print text at the first time. #!/usr/bin/python import time import sys import thread def tail_f(filehandler): interval = 1.0 while True: try: line = filehandler.readline() where = filehandler.tell() if not line: time.sleep(interval) filehandler.seek(where) else: yield line except: print "tail_f error" def readfile(systemname): try: filehandler = open("/home/martin/Downloads/a.txt","r"); while 1: #for line in tail_f(filehandler): # print line try: interval = 1.0 line = filehandler.readline() where = filehandler.tell() if not line: time.sleep(interval) filehandler.seek(where) print where else: print line except: print "tail_f error" except: print "Error: readfile" if __name__ == '__main__': try: thread.start_new_thread( readfile, ("Thread-1", ) ) except: print "Error: unable to start thread" while 1: pass -- https://mail.python.org/mailman/listinfo/python-list