首页 / 知识
python怎么读文件最后几行
2023-11-12 13:03:00
处理文件时,一个常见的需求就是读取文件的最后一行。那么这个需求用python怎么实现呢?一个朴素的想法如下:
withopen('a.log','r')asfp:
lines=fp.readlines()
last_line=lines[-1]
即使不考虑异常处理的问题,这个代码也不完美,因为如果文件很大,lines=fp.readlines()会造成很大的时间和空间开销。
解决的思路是用将文件指针定位到文件尾,然后从文件尾试探出一行的长度,从而读取最后一行。代码如下:
def__get_last_line(self,filename):
"""
getlastlineofafile
:paramfilename:filename
:return:lastlineorNoneforemptyfile
"""
try:
filesize=os.path.getsize(filename)
iffilesize==0:
returnNone
else:
withopen(filename,'rb')asfp:#touseseekfromend,mustusemode'rb'
offset=-8#initializeoffset
while-offset fp.seek(offset,2)#read#offsetcharsfromeof(representbynumber'2') lines=fp.readlines()#readfromfptoeof iflen(lines)>=2:#ifcontainsatleast2lines returnlines[-1]#thenlastlineistotallyincluded else: offset*=2#enlargeoffset fp.seek(0) lines=fp.readlines() returnlines[-1] exceptFileNotFoundError: print(filename+'notfound!') returnNone 其中有几个注意点: 1.fp.seek(offset[,where])中where=0,1,2分别表示从文件头,当前指针位置,文件尾偏移,缺省值为0,但是如果要指定where=2,文件打开的方式必须是二进制打开,即使用'rb'模式, 2.设置偏移量时注意不要超过文件总的字节数,否则会报OSError, 3.注意边界条件的处理,比如文件只有一行的情况。 以上内容为大家介绍了python培训之怎么读文件最后几行,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们
最新内容
相关内容
python代码如何在命令行运行
python代码如何在命令行运行,代码,培训,路径,空格,文件,下面,以上,目录,更多,内容,我们在编写python代码时,可以在交互模式下运行代码,也可以用python怎么写多行代码
python怎么写多行代码,代码,培训,情况,示例,字符串,斜杠,方法,行书,括号,有用,在写代码过程中,经常遇到一行代码很长的情况。为了让代码显得整python如何确定文件是否存在
python如何确定文件是否存在,检测,培训,名字,异常,文件,模块,文件夹,语句,操作,方法,python中的os模块os模块中的os.path.exists(path)可以检python如何执行python文件
python如何执行python文件,代码,培训,文件,程序,命令,模式,事半功倍,后缀,文本,以上,用文本编辑器写Python程序,然后保存为后缀为.py的文件,就python怎么打开文件
python怎么打开文件,代码,系统,培训,信息,基础,环境,文件,源文件,目录,命令,一、使用python源文件的几种方法\运行python脚本:a.windows下打python怎么执行.py文件
python怎么执行.py文件,培训,位置,代码,文件,空格,路径,文件名,时候,右侧,单击,要运行一个已经编写好的.py文件,可以单击开始菜单,在“搜索程序python怎么给代码注释
python怎么给代码注释,代码,培训,注释,时间,项目,负担,冗余,重要性,开头,含义,注释的重要性如果我们是做独立项目,或者是唯一一位来查看自己编python如何打开文件
python如何打开文件,培训,通用,文件,模式,对象,方式,字节,函数,操作,字符串,python中的文件对象:文件对象不仅可以用来访问普通的磁盘文件,而python怎么生成xml文件
python怎么生成xml文件,数据,培训,设计,标准,文件,标记,语言,实例,模块,宗旨,用python内置的xml.dom可以对xml文件进行解析处理。什么是xml?Xpython异常和错误有什么区别
python异常和错误有什么区别,异常,检测,软件,培训,错误,发生,程序,程序员,逻辑,措施,1.错误从软件方面来说,错误是语法或是逻辑上的。语法错误pythonPython代码的书写规范
pythonPython代码的书写规范,代码,培训,数字,设计,标准,异常,二元,行长,下降,一致,python代码的书写规范1.一致性的建议打破一条既定规则的两python新手必看之文本文件的输入输
python新手必看之文本文件的输入输出,培训,标准,数据,文件,对象,输入输出,新手,模式,功能,内容,Python具有基本的文本文件读写功能。Python的