文件操作的文件修改

文件操作改的流程: 1, 以读的模式打开原文件。 2,以写的模式创建一个新文件。 3,将原文件的内容读 出来修改成新内容,写入新文件。 4,将原文件删除。 5,将新文件重命名成原文件。

import os
# 1, 以读的模式打开原文件。
# 2,以写的模式创建一个新文件。
with open('alex自述',encoding='utf-8') as f1,\
        open('alex自述.bak',encoding='utf-8',mode='w') as f2:
# 3,将原文件的内容读出来修改成新内容,写入新文件。
    for line in f1:
# 第一次循环 SB是老男孩python发起人,创建人。
    	new_line = line.replace('SB', 'alex')
		f2.write(new_line)
os.remove('alex自述')
os.rename('alex自述.bak','alex自述')
# 有关清空的问题:
# 关闭文件句柄,再次以w模式打开此文件时,才会清空。
# with open('文件的写', encoding='utf-8',mode='w') as f1:
# for i in range(9):
# f1.write('恢复贷款首付款')

  

优点1: 不用手动关闭文件句柄
# with open('文件的读',encoding='utf-8') as f1:
# print(f1.read())
# 优点2:
with open('文件的读', encoding='utf-8') as f1,\
open('文件的写', encoding='utf-8', mode='w')as f2:
print(f1.read())
f2.write('hfdsjkghkajhsdjg')


  **缺点:这里要注意一个问题,虽然使用with语句方式打开文件,不用你手动关闭文件句柄,比较省事儿,但是依靠其自动关闭文件句柄,是有一段时间的,这个时间不固定,所以这里就会产生问题,如果你在with语句中通过r模式打开文件,那么你在下面又以a模式打开文件,此时有可能你第二次打开文件时,第一次的文件句柄还没有关闭掉,可能就会出现错误,他的解决方式只能在你第二次打开此文件前,手动关闭上一个文件句柄。**

posted @ 2019-06-09 16:20  CongShao's  阅读(220)  评论(0编辑  收藏  举报