You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中if语句匹配到目标行后如何打印后续的指定行数内容

实现代码
# 自定义匹配到目标行后需要打印的后续行数,打印1行设为1,打印2行设为2即可
print_after = 1
# 计数器,记录剩余需要打印的行数
remain_print = 0

# with上下文管理器会自动关闭文件,无需手动调用close方法
with open('test.txt', 'r', encoding='utf-8') as f:
    for line in f:
        if remain_print > 0:
            # strip()用于去除行首尾的换行、空白字符,不需要可删除,直接print(line)
            print(line.strip())
            remain_print -= 1
        # 匹配到目标行时重置计数器
        if line.startswith('how old are you?'):
            remain_print = print_after

说明

  1. 原代码存在两个问题:
    • if判断语句末尾缺少英文冒号,属于语法错误,直接运行会报错
    • 仅在匹配到目标行时打印当前行,没有维护后续打印的状态标记,无法输出后续内容
  2. 如果需要同时打印匹配到的how old are you?行本身,只需要在匹配判断分支中增加打印语句即可:
    if line.startswith('how old are you?'):
        print(line.strip())
        remain_print = print_after
    
  3. 修改print_after的数值即可灵活控制打印匹配行之后的行数。

内容的提问来源于stack exchange,提问作者Kouros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 14:54:04