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
相关产品推荐
相关产品推荐

