python 怎样实现 打开文件 只读取倒数20行并打印出来?

如题,一个文件file里面有若干行,用python 怎样实现 打开文件 只读取倒数20行并打印出来?

阅读 6.1k
1 个回答

原始版本(没有关闭文件,因为是在手机上敲的):

print('\n'.join(open('filename','r').readlines()[-20:]))

省内存的逐行读入:

lines = []
with open("filename", "r") as f:
    while True:
        tlines = f.readlines(100)
        if not tlines:
            break
        tlineslen = len(tlines)
        if tlineslen <= 20:
            lines = lines[tlineslen - 20:] + tlines
            break
        lines = tlines[-20:]
print(lines)
推荐问题