连仕彤博客[Python笔记] Python读取文件最后一行

小文件方法

文件不大的情况下可以使用下面的方法来获取最后一行,如果文件过大就不可以了,因为open文件文件.readlines()的时候Python会先读取到内存中,所以如果需要处理的文件是很大的,下面这种方法不管从效率上还是资源了使用上都是不可取的。

#!/usr/bin/env python
#coding:utf-8
 
file = "/var/log/bigdata/test.log"
 
with open(file,'r') as f:  # 以读的方式打开文件
    lines = f.readlines()   # 行读取(将所有行读取出来暂存到内存中)
    first_line = lines[0]   # 获取第一行
    last_line = lines[-1]   # 获取最后一行
    print "文件:{}的第一行内容是:{}".format(file,first_line)
    print "文件:{}的最后一行内容是:{}".format(file,last_line)
 

注:with语句会自动帮我们调用close()方法

大文件方法

待补充….

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

Docker in Action:共享内存命名空间

本文摘自“ Docker in Action ”(Docker实战)一书,将向您展示在容器之间共享内存的方法。

3347
来自专栏各种机器学习基础算法

原 crontab使用

1493
来自专栏蓝天

inotify_add_watch使用注意

1.inotify_add_watch返回并不是一个fd,而只是一个标识 2.对于同一个PATH,inotify_add_watch将返回相同的标识。不需要调...

852
来自专栏Linux驱动

Linux-fdisk磁盘分区命令(16)

名称: fdisk 使用: fdisk [块设备磁盘] 说明: 将一个块设备(磁盘)分成若干个块设备(磁盘),并将分区的信息写进分区表。  fdisk命令菜单常...

2097
来自专栏Linux驱动

第1阶段——uboot分析之通过nand命令读内核(8)

本节主要学习: 详细分析UBOOT中"bootcmd=nand read.jffs2 0x30007FC0 kernel;bootm 0x30007FC0...

2639
来自专栏三木的博客

Linux shell 程序设计4——shell变量

1、shell变量没有类型,所有变量都被当作字符串来处理。 2、shell变量的命名和c语言相同。 3、shell变量赋值和c语言略有不同,shell赋值要求等...

1886
来自专栏程序员互动联盟

【答疑释惑】标准C语言如何操作文件?

C语言中操作文件功能都用ANSI C提供的一组标准库函数来实现。文件操作标准库函数有如下: fprintf:往文件中写格式化数据 fscanf:格式化读取文件中...

3349
来自专栏Python小屋

Python标准库shutil中rmtree()使用回调函数

这段代码目的是删除包含只读文件的文件夹,主要演示回调函数的用法。 >>> import os >>> import stat >>> import shutil...

3169
来自专栏大神带我来搬砖

在log4j2中灵活切换输出日志的格式

使用log4j2的过程中,日志是安装固定格式输出的。这个格式是pattern所定义的,例如 %d{dd MMM yyyy HH:mm:ss,SSS}: %m%n...

2846
来自专栏24k

redis kill掉进程数据丢失解决方案

默认情况下,是快照rdb的持久化方式,将内存中的数据以快照的方式写入二进制文件中,默认的文件名是dump.rdb

1522

扫码关注云+社区