美文网首页
Python3_Cookbook_保存有限的历史记录_2018-

Python3_Cookbook_保存有限的历史记录_2018-

作者: 凤舞琦天 | 来源:发表于2018-09-08 14:48 被阅读0次

    #保存有限的历史记录,匹配当前行和最后检查过的N行文本

    from collections import deque

    def search(lines,pattern,history=5) :

        previous_lines = deque(maxlen = history)

        for line in lines :

            if pattern in line :

                yield line,previous_lines

            previous_lines.append(line)

            #print (previous_lines,"++++")

    #Example use on a file

    if __name__ == "__main__" :

        with open ("somefile.txt") as f :

            for line,prevlines in search(f,'python',5) :

                for pline in prevlines :

                    print(pline,end="")

                    #pass

                print (line,end="")

                print ("-"*20)

    ############

    #补充说明:

    q = deque(maxlen=3)

    q.append(1)##类似于list,不过只保留最新出现的3个元素###在最后面插入元素####

    q.appendleft(4)###在最前插入###

    q.pop()####后面弹出一个

    q.popleft()####前面弹出一个

    相关文章

      网友评论

          本文标题:Python3_Cookbook_保存有限的历史记录_2018-

          本文链接:https://www.haomeiwen.com/subject/fyokgftx.html