如何在统计响应行数时排除以#开头的行?
实现排除#开头行的HTTP响应行数统计
完全可行,只需要在统计时对响应内容的每一行做判断,过滤掉以#开头的行即可。以下是修正后的完整代码:
import requests def count_valid_response_lines(target_url): with requests.Session() as session: resp = session.get(target_url) resp.raise_for_status() # 捕获请求失败的情况 # 过滤规则:跳过以#开头的行,同时处理行首带空白的情况 filtered_lines = [ line for line in resp.text.splitlines() if not line.strip().startswith('#') ] return len(filtered_lines) # 示例调用 if __name__ == "__main__": url = "https://example.com/your-target-resource" print(f"有效行数:{count_valid_response_lines(url)}")
关键细节说明:
- 用
splitlines()拆分响应文本,适配不同系统的换行符(\n、\r\n等) line.strip().startswith('#')先去除行首尾空白再判断,避免行首带空格的注释行被漏过滤resp.raise_for_status()会在请求返回错误码时抛出异常,便于排查请求问题
内容的提问来源于stack exchange,提问作者uncrayon
相关产品推荐
相关产品推荐

