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

Python中使用w模式写文件后a模式无法追加内容如何解决

Python文本文件追加写入失败问题修复方案

问题根因

open()函数使用w(写入)模式打开已存在的文件时,会直接清空该文件的全部原有内容。你每次运行完整代码时,第一步执行open("test.txt", "w")就会把之前追加的所有Hello内容全部清除,再重新写入Good Morning和一行Hello,因此无论运行多少次都只会保留两行内容。

修复方案

场景1:要求test.txt必须始终保留首行Good Morning,每次运行仅追加Hello

仅在文件不存在的时候执行首行写入逻辑,文件已存在时直接走追加流程即可,推荐搭配with上下文管理器使用,无需手动调用close()处理文件关闭,更安全:

import os

file_path = "test.txt"
# 仅文件不存在时写入首行内容
if not os.path.exists(file_path):
    with open(file_path, "w", encoding="utf-8") as hand1:
        hand1.write("Good Morning")

# 每次运行统一追加一行Hello
with open(file_path, "a", encoding="utf-8") as hand2:
    hand2.write("\nHello")

场景2:不需要固定保留首行Good Morning

直接移除代码中最开始的w模式打开文件写入Good Morning的逻辑即可,和你之前测试有效的操作一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 22:27:03