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

如何修改Python代码,实现写入含指定内容行及其下一行?

解决方法:提取含指定内容的行及其下一行

首先得先修正原代码里的一个小笔误——你循环里写了file,但实际打开的文件对象是old,这个得先改过来。然后要实现“写入含'22%'的行以及它的下一行”,我们可以用一个标志变量来跟踪是否需要写下一行,具体代码如下:

# 使用with语句自动管理文件,避免手动关闭的麻烦
with open('./old.txt', 'r') as old_file, open('./new.txt', 'w') as new_file:
    write_next_line = False  # 标志:是否需要写入下一行
    for line in old_file:
        # 如果标志为True,说明当前行是目标行的下一行,写入它
        if write_next_line:
            new_file.write(line)
            write_next_line = False  # 写完后重置标志
        
        # 检查当前行是否包含'22%'
        if '22%' in line:
            new_file.write(line)  # 写入当前行
            write_next_line = True  # 设置标志,下一行要写入

代码解释

  • 用with语句打开文件:这是Python处理文件的最佳实践,它会在代码块结束后自动关闭文件,不用手动调用close(),避免遗漏导致的资源泄漏。
  • write_next_line标志:初始为False,当我们遇到含'22%'的行时,先写入该行,然后把标志设为True,这样下一次循环时,就会把下一行也写入文件,写完后再把标志重置为False,等待下一个目标行。

举个例子,假设old.txt的内容是:

abc
def
g22%hi
jkl
mno

运行代码后,new.txt里就会有:

g22%hi
jkl

完全符合你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:58:28