Python3写入文本文件后内容未保存到实际文件的问题排查
问题原因
你的代码核心错误是最后一行的文件关闭操作没有正确执行:File.close仅引用了close方法对象,没有加括号调用该方法,所以文件没有被正常关闭。
Python写入文件时,内容会先暂存在内存的IO缓冲区,只有触发以下任意一种情况,缓冲区内容才会被写入磁盘持久保存:
- 主动调用
close()方法关闭文件 - 主动调用
flush()方法刷新缓冲区 - 文件对象被Python垃圾回收机制自动销毁
你没有执行实际的关闭操作,程序运行结束后缓冲区数据没有落盘,因此看不到写入的文本。
修复方案
方案1:补全方法调用
给close加上括号,主动调用关闭方法:
File = open("NewTextFile.Txt", "a") string = "ABC" File.write(string) File.close()
方案2:使用上下文管理器(更推荐)
使用Python内置的with语法操作文件,会自动在代码块结束后关闭文件,不需要手动调用close,也能避免因异常退出导致的文件未关闭问题:
with open("NewTextFile.Txt", "a") as File: string = "ABC" File.write(string)
内容的提问来源于stack exchange,提问作者Mabuchi Arata
相关产品推荐
相关产品推荐

