1.1 打开文件模式
# r r+ r+读是没问题的,写的话,会覆盖原来的内容,文件不存在时会报错
# w w+ w+用来新的文件没问题,旧的文件会覆盖原来的内容
# a a+ a+写是追加,读不到是因为指针已经被移到最后,新文件也不会报错,a+打开文件是直接将指针移到最后
1.2 文件操作其他方法
1 #用with打开文件,会自动关闭文件 2 with open('数据.txt','r+',encoding='utf-8') as f: 3 f.truncate() # 清空文件内容 4 f.flush() # 不管缓冲区有没有满,立即更新到磁盘
1.3 修改文件
1.暴力操作
1 #1、把文件内容全部读取出来 2 #2、把文件内容替换 3 #3、清空掉原来文件内容 4 #4、再将文件内容写入到文件 5 #with会自动关闭文件 6 #这种只适合修改小文件 7 with open('数据.txt','r+',encoding='utf-8') as f: 8 content = f.read()#读取所有文件 9 new_content = content.replace('100','100000') 10 f.seek(0) 11 f.truncate() 12 f.write(new_content) 13 f.flush()#不管缓冲区有没有满,立即更新到磁盘
2.用两个文件来操作
1 #2、两个文件操作 2 #1、r模式打开a文件,w模式打开b文件 3 #2、逐行读取a文件内容,读取之后替换内容 4 #3、把替换完的内容写到b文件里面 5 #4、把a文件删除,把b文件的名字改为a文件 6 import os 7 with open('数据.txt','r',encoding='utf-8') as f1 ,open('数据2.txt','w',encoding='utf-8') as f2: 8 for line in f1: 9 new_line = line.replace('4','4444') 10 f2.write(new_line) 11 os.remove('数据.txt')#删除文件 12 os.rename('数据2.txt','数据.txt')#修改文件名字