f=open("vmi","w")
f.write("asdf")
import os
os.path.getsize("vmi")
#0 byte
f.close()
os.path.getsize("vmi")
# 4 bytes
在文件关闭之前,我在哪里可以找到丢失的 4 个字节,在程序执行时?
f=open("vmi","w")
f.write("asdf")
import os
os.path.getsize("vmi")
#0 byte
f.close()
os.path.getsize("vmi")
# 4 bytes
在文件关闭之前,我在哪里可以找到丢失的 4 个字节,在程序执行时?
您可以尝试先清除数据:
f.flush()
你为什么需要这样做?好吧,出于性能原因,操作系统会尝试缓冲对文件的写入 - 一次写入 1024 个字节比只写出整个缓冲区要慢得多。因此,每当您使用文件/管道/套接字之类的东西时,请记住它可能正在缓冲写入,您flush
首先需要这样做。
当您关闭文件时,它会自动刷新。
试试这个:
import os
f = open("vmi", "w")
f.write("asdf")
f.flush()
os.path.getsize("vmi")
#4 byte
f.close()
os.path.getsize("vmi")
# 4 bytes