码迷,mamicode.com
首页 > 数据库 > 详细

模拟管道,实现功能:tail -f access.log | grep '404'

时间:2018-01-02 23:13:07      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:实现   line   yield   code   lines   imp   pre   for   gpo   

import time
def tail(filepath):
with open(filepath,‘rb‘) as f:
f.seek(0,2)
while True:
line=f.readline()
if line:
yield line
else:
time.sleep(0.05)

def grep(lines,pattern):
for line in lines:
line=line.decode(‘utf-8‘)
if pattern in line:
yield line


lines=grep(tail(‘access.log‘),‘404‘)

for line in lines:
print(line)

模拟管道,实现功能:tail -f access.log | grep '404'

标签:实现   line   yield   code   lines   imp   pre   for   gpo   

原文地址:https://www.cnblogs.com/xiongrongqin/p/8179209.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!