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

Python读取文本文件替换内容并保存至新文件的技术咨询

解决你的问题:转换文本并输出指定格式

首先,咱们先看看你现有代码里的几个小问题:

  • 你现在是逐个单词写入文件还加了换行符,最终输出会是每个单词占一行,而不是你想要的空格分隔的一行内容
  • i == words[n]这行只是做了个无效比较,没有任何实际作用,完全可以删掉

下面是修正后的代码,能精准实现你想要的效果:

with open("input.txt", "r") as my_file, open("output.txt", "w") as outfile:
    # 读取文件的每一行(假设input.txt里只有目标那一行数据)
    for line in my_file:
        # 把行内容按空格分割成单词列表
        words = line.split()
        # 快速替换非"no"的元素为"yes"
        processed_words = ["yes" if word != "no" else word for word in words]
        # 把处理后的列表用空格连接成一个完整字符串
        output_line = " ".join(processed_words)
        # 写入到输出文件
        outfile.write(output_line)

代码细节说明:

  • 用列表推导式替换了原来的enumerate循环,写法更简洁直观,逻辑也更清晰
  • join()方法把处理后的单词列表合并成空格分隔的字符串,保证输出是你想要的一行格式
  • 保留了你原本用with语句的好习惯,它会自动帮你关闭文件,避免资源泄漏

如果你的input.txt里有多行数据,这段代码也能兼容,每行都会被单独转换后写入输出文件(一行输入对应一行输出)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:09:40