Python-如何在Python中便宜地获取大文件的行数?

发布于 2021-02-02 23:22:56

我需要在python中获取一个大文件(数十万行)的行数。内存和时间最有效的方法是什么?

目前,我这样做:

def file_len(fname):
    with open(fname) as f:
        for i, l in enumerate(f):
            pass
    return i + 1

有可能做得更好吗?

关注者
0
被浏览
132
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    没有比这更好的了。

    毕竟,任何解决方案都必须读取整个文件,找出有多少文件\n,然后返回该结果。

    你是否有一种更好的方法,而无需读取整个文件?不确定…最好的解决方案将永远是受I / O约束的,你可以做的最好的事情是确保你不使用不必要的内存,但是看起来你已经解决了这一问题。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看