#接下来我们想把第二行的千里不留行改成“万里不流行”with open('xiakexing') as old_file,open('xiakexing.bak','w') as new_file:
#说明:上面的方法可以同时打开两个文件,实际上是打开文件xiakexing,并且创建文件xiakexing.bak#并且分别创建文件对象old_file和new_filefor i in old_file:#采用for循环从文件对象old_file里迭代地读取文件,简单来讲就是一行一行地#读取文件,这样内存中只存储了一行文件的内容,节省了内存,也防止文件#过大时造成的“超载”if'千里不留行'in i: #这里每读取一行我们就对其进行条件判断,判断该行是否是我们要找的那一行
i = i.replace('千','万')#当找到该行时,把该行的内容替换成我们想要的内容
new_file.write(i) #在for循环中每读取一行我们就在新文件中写入一行,不管该行有没有变化#总之就是读一行、写一行、读一行、写一行import os #当for循环结束后,文件也已经被我们修改完毕了,这是应该删除旧文件,重命名新文件#为了实现这一目的,我们引入了os模块,os模块内主要是一些和操作系统有关的函数
os.remove('xiakexing') #删除原文件
os.rename('xiakexing.bak','xiakexing') #把新文件重命名回原文件名,最终实现了文件的修改
#然后我们再来看看文件的内容with open('xiakexing') as old_file:
print(old_file.read())