# 文件a.txt内容如下
张一蛋 山东 179 49 12344234523
李二蛋 河北 163 57 13913453521
王全蛋 山西 153 62 18651433422# 执行操作
with open('a.txt',mode='r+t',encoding='utf-8') as f:f.seek(9)f.write('<妇女主任>')# 文件修改后的内容如下
张一蛋<妇女主任> 179 49 12344234523
李二蛋 河北 163 57 13913453521
王全蛋 山西 153 62 18651433422
强调:
1、硬盘空间是无法修改的,硬盘中数据的更新都是用新内容覆盖旧内容
2、内存中的数据是可以修改的
文件对应的是硬盘空间,硬盘不能修改对应着文件本质也不能修改,那我们看到文件的内容可以修改是如何实现的?
我们的思路是将硬盘的文件内容读入内存,然后内存中修改完毕后再覆盖会硬盘
with open('a.txt', mode='rt', encoding='utf-8') as f:data = f.read()with open('a.txt', mode='wt', encoding='utf-8') as f:f.write(data.replace('EGON', 'egon'))
import oswith open('a.txt', mode='rt', encoding='utf-8') as f1, \open('a.txt.swp', mode='wt', encoding='utf-8')as f2:for line in f1:f2.write(line.replace('lty', '胡桑'))
os.remove('a.txt')
os.rename('a.txt.swp', 'a.txt')
上一篇:es与mysql之间的数据同步
下一篇:【笔试强训】Day 6