文件的写出操作|文件的追加写入操作|文件操作的综合案例
P88 文件的写出操作
写操作入门
# 1.打开文件
f=open('python.txt','w')
# 2.文件写入
f.write('hello world')
# 3.内容刷新
f.flush()
注意:
- 直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称之为缓冲区
- 当调用flush的时候,内容会真正写入文件
- 这样做是避免频繁的操作硬盘,导致效率下降(攒一堆,一次性写入磁盘)
# 打开不存在的文件
f=open("D:/250721.txt","w",encoding="UTF-8")
# write写入
f.write("今天是2025年7月21日,今天也是上班上得很不开心的一天~~")
# flush刷新
f.flush()
# close关闭
f.close() # close 方法内置了flush功能
# 打开一个存在的文件
f=open("D:/250721.txt","w",encoding="UTF-8")
# write写入、flush刷新
f.write("出现这句话,说明我在已经存在的文件里写东西了")
# close关闭
f.close()
P89 文件的追加写入操作
追加写入操作快速入门
# 1.打开文件,通过a模式打开即可
f=open('python.txt','a')
# 2.文件写入
f.write("hello world")
# 3.内容刷新
f.flush()
注意:
- a模式,文件不存在会创建文件
- a模式,文件存在会在最后,追加写入文件
# 打开一个不存在的文件
f=open("D:/不存在的文件.txt","a",encoding="UTF-8")
# write写入
f.write("这是一句用a(append)模式下在本不存在的文件中写的一句话")
# flush刷新
f.flush()
# close关闭
f.close()
# 打开一个已经存在的文件
f=open("D:/不存在的文件.txt","a",encoding="UTF-8")
# 写入write
f.write("\n")
f.write("这是一句在尽管命名为不存在的文件但实际上已经存在的文件中用a模式追加的一句话")
# close关闭
f.close()
P90 文件操作的综合案例
# P90练习题
# 读取文件
fr=open("D:/bill.txt","r",encoding="UTF-8")
# 将文件写出到bill.txt.bak文件作为备份
fw=open("D:/bill.txt.bak","w",encoding="UTF-8")
# for循环读取文件
for line in fr:line=line.strip() # strip可以将前后换行符去掉if line.split(",")[4]=="测试": # 通过split以逗号为分割界限得到一个列表,正式/测试在第四个or第-1个元素,continue # 如果是测试,则进入下一个循环fw.write(line) # 如果不是测试,则写入fr# 由于前面用strip去掉了换行符,所以现在要手动加上换行符fw.write("\n")
# close关闭文件
fr.close()
fw.close()