私信  •  关注

rabbit

rabbit 最近创建的主题
rabbit 最近回复了
13 年前
回复了 rabbit 创建的主题 » python:从文件中读取最后的'n'行[重复]

你可以用F.S寻(0, 2)到文件的末尾,然后逐行读取行,用以下替换读行():

def readline_backwards(self, f):
    backline = ''
    last = ''
    while not last == '\n':
        backline = last + backline
        if f.tell() <= 0:
            return backline
        f.seek(-1, 1)
        last = f.read(1)
        f.seek(-1, 1)
    backline = last
    last = ''
    while not last == '\n':
        backline = last + backline
        if f.tell() <= 0:
            return backline
        f.seek(-1, 1)
        last = f.read(1)
        f.seek(-1, 1)
    f.seek(1, 1)
    return backline