我需要在python中获取大文件(数十万行)的行数.记忆和时间方面最有效的方法是什么?
目前我这样做:
def file_len(fname):
    with open(fname) as f:
        for i, l in enumerate(f):
            pass
    return i + 1
有可能做得更好吗?
我想确定列表是否包含某个字符串,所以我使用生成器表达式,如下所示:
g = (s for s in myList if s == myString)
any(g)
当然我想内联这个,所以我这样做:
any((s for s in myList if s == myString))
然后我认为单个parens会更好看,所以我尝试:
any(s for s in myList if s == myString)
并不是真的期待它的运作.惊喜!它呢!
那么这个合法的Python还是我的实现允许的东西?如果它是合法的,这里的一般规则是什么?
可能重复:
如何在Python中便宜地获得行数?
美好的一天。我下面有一些代码,该代码实现每行文件读取和计数器迭代。
def __set_quantity_filled_lines_in_file(self):
    count = 0
    with open(self.filename, 'r') as f:
        for line in f:
             count += 1
    return count
我的问题是,有没有方法可以确定当前文件中没有每一行迭代的文本数据行数?
谢谢!