鱼C论坛

 找回密码
 立即注册
查看: 1891|回复: 4

[已解决]文件打开和更改

[复制链接]
发表于 2021-1-9 10:42:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问各位大佬,我在用python打开文件添加文字时,为什么第一次写完之后文件没有更改,但是第二次写就变化了呢?
f = open("record.txt", "a")
f.write("在后面添加文字")
#第一次写了之后发现文本没有变化,于是再次尝试了一次
f = open("record.txt", "a")
f.write("添加文字")
#第二次写了之后再打开文本,改变了,但是加上去的是第一次的文字
最佳答案
2021-1-9 11:15:52
本帖最后由 jackz007 于 2021-1-9 11:31 编辑
f = open("record.txt", "a")
f . write("在后面添加文字\n")   # 文本文件的基本读写单位是行,行末加上回车换行符很重要
f . close()                    # 文件读写完毕的时候一定要关闭,尤其是写过文件之后。
        读写文件并不是直接读写磁盘,为了减少对磁盘的物理访问,在读写文件的时候,操作系统会在内存中规划出一个文件缓冲区,我们读写文件其实读写的就是这个文件缓冲区,磁盘文件与文件缓冲区之间的数据流动由操作系统掌控,只在必要的时候进行。写过文件后,只有关闭,缓冲区中的内容才能真正写入磁盘文件中,这个道理适合任何磁盘操作系统。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-9 10:59:24 | 显示全部楼层
因为没有关闭,那么文件就不会写入内容,需要打开之后关闭文件,加一句f.close()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-1-9 11:00:28 | 显示全部楼层
或者你用with open()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-9 11:15:52 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2021-1-9 11:31 编辑
f = open("record.txt", "a")
f . write("在后面添加文字\n")   # 文本文件的基本读写单位是行,行末加上回车换行符很重要
f . close()                    # 文件读写完毕的时候一定要关闭,尤其是写过文件之后。
        读写文件并不是直接读写磁盘,为了减少对磁盘的物理访问,在读写文件的时候,操作系统会在内存中规划出一个文件缓冲区,我们读写文件其实读写的就是这个文件缓冲区,磁盘文件与文件缓冲区之间的数据流动由操作系统掌控,只在必要的时候进行。写过文件后,只有关闭,缓冲区中的内容才能真正写入磁盘文件中,这个道理适合任何磁盘操作系统。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-10 10:34:10 | 显示全部楼层
jackz007 发表于 2021-1-9 11:15
读写文件并不是直接读写磁盘,为了减少对磁盘的物理访问,在读写文件的时候,操作系统会在内存中 ...

详细的解释明白了,感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-10 11:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表