Python编程实现tail-n查看日志文件的方法

yipeiwu_com5年前Python基础

1、函数实现

# -*- coding: utf-8 -*-

def tail(filename, n=10):
  with open(filename, "r") as f:
    lines = f.readlines()[-n:]

  return "".join(lines)

2、测试文件

poetry.txt 为了方便验证,每行之前加上行号数字

1. 虞美人·宜州见梅作
2.
3. 宋代:黄庭坚
4.
5. 天涯也有江南信。
6. 梅破知春近。
7. 夜阑风细得香迟。
8. 不道晓来开遍、向南枝。
9.
10. 玉台弄粉花应妒。
11. 飘到眉心住。
12. 平生个里愿杯深。
13. 去国十年老尽、少年心。
14.

3、测试结果

print(tail("poetry.txt", 5))

"""

n=1
14.


n=3
12. 平生个里愿杯深。
13. 去国十年老尽、少年心。
14.


n=5
10. 玉台弄粉花应妒。
11. 飘到眉心住。
12. 平生个里愿杯深。
13. 去国十年老尽、少年心。
14.
"""

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

对python产生随机的二维数组实例详解

最近找遍了python的各个函数发现无法直接生成随机的二维数组,其中包括random()相关的各种方法,都没有得到想要的结果。最后在一篇博客中受到启发,通过列表解析的方法得到随机的二维数...

简单谈谈Python中函数的可变参数

前言 在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参...

python环形单链表的约瑟夫问题详解

题目: 一个环形单链表,从头结点开始向后,指针每移动一个结点,就计数加1,当数到第m个节点时,就把该结点删除,然后继续从下一个节点开始从1计数,循环往复,直到环形单链表中只剩下了一个...

在Pandas中处理NaN值的方法

在Pandas中处理NaN值的方法

关于NaN值 -在能够使用大型数据集训练学习算法之前,我们通常需要先清理数据, 也就是说,我们需要通过某个方法检测并更正数据中的错误。 - 任何给定数据集可能会出现各种糟糕的数据,例如...

对Python3 * 和 ** 运算符详解

在 Python 中,* 和 ** 具有语法多义性,具体来说是有四类用法。 1. 算数运算 * 代表乘法 ** 代表乘方 >>> 2 * 5 10 >>...