川A2580 发表于 2021-1-9 10:42:11

文件打开和更改

请问各位大佬,我在用python打开文件添加文字时,为什么第一次写完之后文件没有更改,但是第二次写就变化了呢?
f = open("record.txt", "a")
f.write("在后面添加文字")
#第一次写了之后发现文本没有变化,于是再次尝试了一次
f = open("record.txt", "a")
f.write("添加文字")
#第二次写了之后再打开文本,改变了,但是加上去的是第一次的文字{:10_277:}

bonst 发表于 2021-1-9 10:59:24

因为没有关闭,那么文件就不会写入内容,需要打开之后关闭文件,加一句f.close()

bonst 发表于 2021-1-9 11:00:28

或者你用with open()

jackz007 发表于 2021-1-9 11:15:52

本帖最后由 jackz007 于 2021-1-9 11:31 编辑

f = open("record.txt", "a")
f . write("在后面添加文字\n")   # 文本文件的基本读写单位是行,行末加上回车换行符很重要
f . close()                  # 文件读写完毕的时候一定要关闭,尤其是写过文件之后。
      读写文件并不是直接读写磁盘,为了减少对磁盘的物理访问,在读写文件的时候,操作系统会在内存中规划出一个文件缓冲区,我们读写文件其实读写的就是这个文件缓冲区,磁盘文件与文件缓冲区之间的数据流动由操作系统掌控,只在必要的时候进行。写过文件后,只有关闭,缓冲区中的内容才能真正写入磁盘文件中,这个道理适合任何磁盘操作系统。

川A2580 发表于 2021-1-10 10:34:10

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

详细的解释明白了,感谢
页: [1]
查看完整版本: 文件打开和更改