python 怎样或读取一个文件的最后一行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 怎样或读取一个文件的最后一行相关的知识,希望对你有一定的参考价值。

有没有简便的方法,获取文件的行数
我用了这个方法,
import os

file = open('abc.dat','r')
linecount = len(file.readlines());
targetLine = "";
lineNo = 0;
while 1:
mLine = file.readline();
if not mLine:
break;
lineNo += 1;
if (linecount == lineNO):
targetLine = mLine;

但是最后发现targetLine里面是空的

有两种情况,
1,文件比较大时,一行一行循环直到最后一行,读取最后一行;

targetLine = "";
lineNo = 0;  
while 1:
    mLine = file.readline();
    if not mLine:
        break;
    lineNo += 1;
    if (linecount == lineNO):
        targetLine = mLine;

2, 文件比较小,直接读取全文,取最后一行数据。

targetLine = "";  
mLines = file.read();
targetLine = mLines[-1];

filelineno( ) 
Return the line number in the current file. Before the first line has been read, returns 0. After the last line of the last file has been read, returns the line number of that line within the file.


参考技术A 有两种情况,
1,文件比较大。
targetLine = "";
lineNo = 0;
while 1:
mLine = file.readline();
if not mLine:
break;
lineNo += 1;
if (linecount == lineNO):
targetLine = mLine;

2, 文件比较小
targetLine = "";
mLines = file.read();
targetLine = mLines[-1];

filelineno( )
Return the line number in the current file. Before the first line has been read, returns 0. After the last line of the last file has been read, returns the line number of that line within the file.本回答被提问者采纳

python读取txt文件最后一行(文件大+文件小)

txt文件小

#coding:utf-8
‘‘‘
fname为所读xx.txt文件
输出为:文件第一行和最后一行
‘‘‘

fname = ‘test.txt‘
with open(fname, ‘r‘) as f:  #打开文件
    lines = f.readlines() #读取所有行
    first_line = lines[0] #取第一行
    last_line = lines[-1] #取最后一行     
    print ‘文件‘ + fname + ‘第一行为:‘ + first_line
    print ‘文件‘ + fname + ‘最后一行为:‘+ last_line

当文件很大时,采用这种方法不可行,资源浪费太大,采用下面方案。

txt文件大

#coding:utf-8
‘‘‘
f_name为所读xx.txt文件
输出为:文件最后一行
‘‘‘

fname = ‘test.txt‘
with open(fname, ‘r‘) as f:  #打开文件
    first_line = f.readline()  #读第一行
    off = -50      #设置偏移量
    while True:
        f.seek(off, 2) #seek(off, 2)表示文件指针:从文件末尾(2)开始向前50个字符(-50)
        lines = f.readlines() #读取文件指针范围内所有行
        if len(lines)>=2: #判断是否最后至少有两行,这样保证了最后一行是完整的
            last_line = lines[-1] #取最后一行
            break
        #如果off为50时得到的readlines只有一行内容,那么不能保证最后一行是完整的
        #所以off翻倍重新运行,直到readlines不止一行
        off *= 2

    print ‘文件‘ + fname + ‘第一行为:‘ + first_line
    print ‘文件‘ + fname + ‘最后一行为:‘+ last_line
版权声明:本文为博主原创文章,欢迎转载。转载请注明出处 http://blog.csdn.net/binchasing

以上是关于python 怎样或读取一个文件的最后一行的主要内容,如果未能解决你的问题,请参考以下文章

怎样用python读取txt并按规则写入excle

shell脚本怎样读取文件的值,并赋值给变量

python文件读取到最后一行后怎么返回第一行

python读取txt文件最后一行(文件大+文件小)

python怎么读取最后一行数据

Python读取文件的最后一行(非空行)