python 我可以排除以#开头的行吗?

pu82cl6c  于 2022-10-30  发布在  Python
关注(0)|答案(2)|浏览(343)

第4行计算响应的行数。试图从计数中排除以#开头的行。可能吗?

def fetch_block_count(session: requests.Session, url: str, timeout: int):
    try:
        with session.get(url, timeout=10) as response:
            dooct = {url: len(resp.text.splitlines())}
            return dooct
    except requests.exceptions.RequestException as e:
        return 'booger'

错误地粘贴了代码并进行了修复。

flmtquvp

flmtquvp1#

你可以简单地使用列表解析来完成你要做的事情:
使用len([l for l in response.text.splitlines() if len(l)<1 or l[0] != '#'])

fae0ux8s

fae0ux8s2#

您可以通过对列表解析应用过滤器来排除以"#"开头的行,如下所示:

dooct = {
    url: len(
        [
            line for line in response.text.splitlines()
            if line and not line.startswith("#")
        ]
    )
}

请注意,当且仅当line不是"",且该行不是以"#"开头时,line and not line.startswith("#")才会是True

相关问题