f.close() 或者f.flush() 方法才会将内存中的数据写入到disk中
f.write(),写完之后,写在了文件缓冲;要执行f.close() or f.flush(),才可以真写入到文件中。 写缓冲和文件不一致: 1、主动f.close() 或者 f.flush() 2、写入数据量大于或者等于写缓存,写缓存同步到磁盘。
文件写入操作
写磁盘的时间
python写需要关闭文件或者flush后才会从文件缓冲中存入磁盘
实际写入磁盘的只有155648个字节,因为缓冲区只有这么大,当我们写入内容超过这么大的时候,就会自动写入磁盘。
Python写磁盘时机
文件写入
write(str):参数为字符串
writelines(sequence of strings):参数为可迭代对象(字符串、字符串组成的元组、字符串组成的迭代器、字符串组成的列表)
f = open('imooc.py', 'w')f.write('test write')f.close()cat imooc.py f = open('imooc.py', 'w')f.writelines('123456')f.writelines(('1','2','3'))f.writelines(['1','2','3'])f.close()cat imooc.py f = open('imooc.py', 'w')f.write('111111') #若不调用close-->文件为空f.close() #若不主动调用close,内容写入文件缓冲区BUFFER,不写入磁盘文件;调用close时内核将缓冲内容写入磁盘
缓存-->磁盘:
主动调用close()或flush()
写入数据量大于或等于写缓存
f = open("imooc.txt", "w")for i in range(10000): f.write('test write ' + str(i) + '\n') #只写了一部分在磁盘f.close() #缓存同步到磁盘,内容全部写入
Python写入方式
写缓存相关说明:
写文件过程
文件读取方式
wirte():写入磁盘时机

当f.close()后,缓冲区中的内容全部写入内存,此时imooc.txt中已有1000行数据。
实际写入磁盘的只有155648个字节,因为缓冲区只有这么大,当我们写入内容超过这么大的时候,就会自动写入磁盘。
Python写磁盘的时机
python写磁盘时机
python 写过程与存在问题
文件写入
write(str):参数为字符串
writelines(sequence of strings):参数为可迭代对象(字符串、字符串组成的元组、字符串组成的迭代器、字符串组成的列表)
f = open('imooc.py', 'w')
f.write('test write')
f.close()
cat imooc.py
f = open('imooc.py', 'w')
f.writelines('123456')
f.writelines(('1','2','3'))
f.writelines(['1','2','3'])
f.close()
cat imooc.py
f = open('imooc.py', 'w')
f.write('111111') #若不调用close-->文件为空
f.close() #若不主动调用close,内容写入文件缓冲区BUFFER,不写入磁盘文件;调用close时内核将缓冲内容写入磁盘缓存-->磁盘:
主动调用close()或flush()
写入数据量大于或等于写缓存
f = open("imooc.txt", "w")
for i in range(10000):
f.write('test write ' + str(i) + '\n') #只写了一部分在磁盘
f.close() #缓存同步到磁盘,内容全部写入
Python写文件过程:

文件写过程与存在问题
文件写入方式:
write(str):将字符串写入文件
wrtielines(sequence of strings):写多行到文件,参数为可迭代的对象

python写文件过程