linux shell 下有个 tail 命令可以方便的动态打印、输出日志,这对根据程序日志调试来说相当方便。
在 python 下怎么实现呢?主要思路其实也不难:先跳到文件末尾,然后不断的打印出新行,直到文件结束,然后再更新指针位置,最后再死循环重复上述过程即可。恰巧 github 上看到一份不错的代码,贴过来,以备忘。
1、代码:
#!/usr/bin/env python
'''
Python-Tail - Unix tail follow implementation in Python.
python-tail can be used to monitor changes to a file.
Example:
import tail
# Create a tail instance
t = tail.Tail('file-to-be-followed')
# Register a callback function to be called when a new line is found in the followed file.
# If no callback function is registerd, new lines would be printed to standard out.
t.register_callback(callback_function)
# Follow the file with 5 seconds as sleep time between iterations.
# If sleep time is not provided 1 second is used as the default t