python 读取文件,获取文件最后一行内容

当要读取的txt文件较小时:python

#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文件较大时:ide

#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
相关文章
相关标签/搜索