Python读取文本文件时首行内容丢失问题咨询
问题分析与解决
问题原因
你在循环内部每次都重新执行read_tasks = "\n",这会清空之前循环积累的内容。第一次循环处理完Steve的任务后,read_tasks刚存储了对应内容,第二次循环一开始就把它重置成空换行,再追加Bob的任务,最终只保留了最后一次循环的结果。
另外代码里定义了strip_task = n.strip()但没有实际使用,第一行的\n会导致split_task[1]带有换行符,这也是需要注意的细节。
修正方案
方案一:将变量初始化移到循环外
把read_tasks的初始化放在循环外面,每次循环用+=追加内容,避免覆盖:
read_tasks = "" for n in textfile: # 先去除首尾空白(包括换行)再拆分,避免换行符干扰 split_task = n.strip().split(", ") read_tasks += f"\nTask: \t{split_task[1]}"
方案二:先收集所有任务再拼接
用列表先存储每一行的处理结果,最后用换行符拼接,逻辑更清晰:
task_list = [] for n in textfile: split_task = n.strip().split(", ") task_list.append(f"Task: \t{split_task[1]}") read_tasks = "\n".join(task_list)
内容的提问来源于stack exchange,提问作者Dani
相关产品推荐
相关产品推荐

