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

2022-09-05 01:00:55

如何以最省时的方式获取大文件的行数?

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

答案 1

一行,可能很快:

num_lines = sum(1 for line in open('myfile.txt'))

答案 2

没有比这更好的了。

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

您是否有更好的方法来做到这一点,而无需读取整个文件?不确定。。。最好的解决方案始终是I / O绑定,您能做的最好的事情就是确保不使用不必要的内存,但看起来您已经覆盖了这一点。