生成器案例,#采集日志
#采集日志,并按关键信息检索,然后将收集到的信息写入另一个文件。
import time #调用时间模块
def tail(filename): #定义生成器
with open(filename,'r') as f: #打开文件,读取文件,给文件起个别名是f
f.seek(0,2) #将文件中的光标移动到最后
while True: #死循环
qwe = f.readline() #从上到下读取文件然后赋值给qwe
if qwe: #如果qwe不为空,有值
yield qwe #那么就返回qwe的值
else: #否则
time.sleep(0.05) #停0.05秒在运行
asd = tail('a.txt') #将函数的返回值赋给asd变量
def grep(filename,err): #定义一个过滤的函数
for i in asd: #遍历tail函数中的返回值
if err in i: #判断:按关键词收集日志,查看返回值是否符合要求
with open(filename, 'a') as d: #打开文件,设置追加模式
d.writelines(i) #将这条符合条件的日志写在s.txt中
grep('s.txt','4') #调用grep函数,并传两个实参