我正在尝试使用Python读取文件,将其关闭,然后从停止读取文件的位置再次读取它。
实际问题:我正在尝试处理每小时更新一次的Tomcat日志文件。因此,当我从Python端读取它时,会得到重复的(旧的)日志以及新的日志。
编辑:有没有一种有效的方法来从公用文件中读取新日志?
您可以为此使用pygtail,它会读取尚未读取的日志文件行,这将从上次处理或停止的位置开始
from pygtail import Pygtail
for line in Pygtail("path to your log file"):
'''
the process which you want to do
'''
#导入linecache模块
导入行缓存
#定义要读取的文件的名称
文件名=“ test.txt”
#定义line_number
line_number = 3
#检索特定行
line = linecache.getline(filename,line_number)
打印(“%s的第%i行:”%(行号,文件名)]
打印(行)
[如果有选择,请使Tomcat日志每隔一小时旋转一次。在这种情况下,您只需要读取日志目录中的未读文件即可。