韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > Python常见问题 > python怎么读文件最后几行

python怎么读文件最后几行

文件读取

头像

silencement

2019-09-20 10:50:594603浏览 · 0收藏 · 0评论

处理文件时,一个常见的需求就是读取文件的最后一行。那么这个需求用python怎么实现呢?一个朴素的想法如下:

with open('a.log', 'r') as fp:
    lines = fp.readlines()
    last_line = lines[-1]

即使不考虑异常处理的问题,这个代码也不完美,因为如果文件很大,lines = fp.readlines()会造成很大的时间和空间开销。

解决的思路是用将文件指针定位到文件尾,然后从文件尾试探出一行的长度,从而读取最后一行。代码如下:

def __get_last_line(self, filename):
    """
    get last line of a file
    :param filename: file name
    :return: last line or None for empty file
    """
    try:
        filesize = os.path.getsize(filename)
        if filesize == 0:
            return None
        else:
            with open(filename, 'rb') as fp: # to use seek from end, must use mode 'rb'
                offset = -8                 # initialize offset
                while -offset < filesize:   # offset cannot exceed file size
                    fp.seek(offset, 2) #read#offset chars from eof(represent by number'2')
                    lines = fp.readlines()  # read from fp to eof
                    if len(lines) >= 2:     # if contains at least 2 lines
                        return lines[-1]    # then last line is totally included
                    else:
                        offset *= 2         # enlarge offset
                fp.seek(0)
                lines = fp.readlines()
                return lines[-1]
    except FileNotFoundError:
        print(filename + ' not found!')
        return None

其中有几个注意点:

1. fp.seek(offset[, where])中where=0,1,2分别表示从文件头,当前指针位置,文件尾偏移,缺省值为0,但是如果要指定where=2,文件打开的方式必须是二进制打开,即使用'rb'模式,

2. 设置偏移量时注意不要超过文件总的字节数,否则会报OSError,

3. 注意边界条件的处理,比如文件只有一行的情况。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

蜜桃成时熟2| 公厕BY金银花露TXT笔趣阁| 小正太主动要求戴肛塞尾巴的小猫 | 添女人荫蒂全部过程AV视频| 《在线观看交换做爰》| 二人生猴子全程免费| 美国大片免费观看2022年上映| 水蜜桃免费观看电视剧最新章节| 来吧儿子妈妈是纯还是仿 | 疯狂一家亲TXT全文阅读| 男朋友摸完小花园小肚子有点痛 | 做到双眼失焦双男主| 禁忌1蜜桃熟了| (NP、高H、纯肉)高H高辣| 《女教师的味道3》在线观看| 洞洞饿了1-36集全免费| 男人把困困进女生困困视频| 第一次性接触!| 打扑克的全程视频| 车震视频| 苏软软汆肉的日常三鲜小馄饨| 免费看黄A片真人真事| 爸爸吃女儿奶奶高情商回复| 男生把小困困放到女生困里视频 | 小玲与公做爱小小说| 亲吻刺激战场视频大全真人版免费.. | 动漫《纯洁的修女》在线看| 成品人和精品人的区别在哪里知乎| 少妇被大黑捧猛烈进出动态图| 含着奶做着爱太舒服了| 停电插班花TXT| 口咬的10个绝招图片| 国外黄冈站刺激战场| 《玉尺经》完整版| 摸的下身已洪水泛滥怎么办 | 妈妈说今晚爸爸不回家| 免费观看萝卜大全电视剧韩剧| 欧美| 苏晴忘穿内裤坐公交车被揉到视频| 自慰视频| 《不戴套瑜伽教练3》