如何为文本文件每行号码追加指定字符串?代码异常排查
问题分析与解决方案
原代码存在多个关键问题,导致输出不符合预期:
- Python是大小写敏感语言,代码里的
For、Print、Y属于错误的大小写写法,会触发语法错误。 - 循环中以追加模式打开原文件写入后缀,会把所有后缀都追加到文件末尾,而非对应行的后方。
readlines()读取的每行包含末尾换行符,未处理会导致格式混乱。
修正后的代码
# 读取原文件所有内容 with open("demofile.txt", "r") as f: lines = f.readlines() # 处理每行数据:去除换行符、追加后缀、补回换行符 processed_lines = [line.strip() + "@vtest.com\n" for line in lines] # 将处理后内容写入文件(覆盖原文件,需保留原文件可改为写入新文件,如demofile_new.txt) with open("demofile.txt", "w") as f: f.writelines(processed_lines) # 验证结果 with open("demofile.txt", "r") as f: print(f.read())
代码说明
- 一次性读取所有行,避免循环内频繁打开关闭文件的冗余操作。
- 用列表推导式批量处理每行:
strip()清除每行末尾的换行符与空白字符,拼接目标后缀后补回换行符,保证每行格式正确。 - 以写入模式(
w)覆盖原文件,若需保留原始数据,可将写入目标改为新文件名。 - 最后读取文件并打印,确认输出符合预期。
内容的提问来源于stack exchange,提问作者mozartp
相关产品推荐
相关产品推荐

