相关疑难解决方法(0)

如何在Python中廉价地获得行数?

我需要在python中获取大文件(数十万行)的行数.记忆和时间方面最有效的方法是什么?

目前我这样做:

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

有可能做得更好吗?

python text-files line-count

931
推荐指数
18
解决办法
77万
查看次数

Python生成器表达式括号奇怪

我想确定列表是否包含某个字符串,所以我使用生成器表达式,如下所示:

g = (s for s in myList if s == myString)
any(g)
Run Code Online (Sandbox Code Playgroud)

当然我想内联这个,所以我这样做:

any((s for s in myList if s == myString))
Run Code Online (Sandbox Code Playgroud)

然后我认为单个parens会更好看,所以我尝试:

any(s for s in myList if s == myString)
Run Code Online (Sandbox Code Playgroud)

并不是真的期待它的运作.惊喜!它呢!

那么这个合法的Python还是我的实现允许的东西?如果它是合法的,这里的一般规则是什么?

python generator-expression parentheses

14
推荐指数
1
解决办法
1571
查看次数

是否可以确定文件中存在多少行而无需每次行迭代?

可能重复:
如何在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
Run Code Online (Sandbox Code Playgroud)

我的问题是,有没有方法可以确定当前文件中没有每一行迭代的文本数据行数?

谢谢!

python filesystems algorithm

4
推荐指数
1
解决办法
3413
查看次数