python3 文本文件字符串的替换

三种类型的替换:

1. 修改源文件:
 file_data = ""
with open(file,"r", encoading="utf-8") as f:
      for line in f:
            if old_str in line:
                  line = line.replace(old_str,new_str)
            file_data += line
with open(file,"w",encoding="utf-8") as f:
      f.write(file_data)
2. 把源文件内容经过修改后写到新文件中去
import os
 
with open(file,"r",encoding="utf-8") as f1, open("%s.bak" % file,"w", encoding="utf-8") as f2:
       for line in f1:
             if old_str in line:
                   line = line.replace(old_str,new_str)#replace只能对同一个line变量来做
             f2.write(line)
        os.remove(file)
        os.rename("%s.bak" % file,file)
 
3.使用正则表达式re.sub来替换
import re,os
 
with open(file,"r" encoding="utf-8") as f1,open("%s.bak"  % file, "w" ,encoding="utf-8") as f2:
       for line in f1:
              f2.write(re.sub(old_str,new_str,line))
       os.remove(file)
       os.rename("%s.bak"  % file,file)
alter("file1", "admin","password")
posted @ 2018-05-09 10:14  念宗  阅读(1102)  评论(0编辑  收藏  举报