python 修改文件內容3種方法
阿新 • • 發佈:2017-12-22
bak ram code param post img span clas 正則表達
一、修改原文件方式
1 def alter(file,old_str,new_str): 2 """ 3 替換文件中的字符串 4 :param file:文件名 5 :param old_str:就字符串 6 :param new_str:新字符串 7 :return: 8 """ 9 file_data = "" 10 with open(file, "r", encoding="utf-8") as f: 11 for line in f: 12 if old_str in line: 13 line = line.replace(old_str,new_str) 14 file_data += line 15 with open(file,"w",encoding="utf-8") as f: 16 f.write(file_data) 17 18 alter("file1", "09876", "python")
二、把原文件內容和要修改的內容寫到新文件中進行存儲的方式
2.1 python字符串替換的方法,修改文件內容
import os def alter(file,old_str,new_str): """ 將替換的字符串寫到一個新的文件中,然後將原文件刪除,新文件改為原來文件的名字 :param file: 文件路徑 :param old_str: 需要替換的字符串 :param new_str: 替換的字符串 :return: None """ 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) f2.write(line) os.remove(file) os.rename("%s.bak" % file, file) alter("file1", "python", "測試")
2.2 python 使用正則表達式 替換文件內容 re.sub 方法替換
1 import re,os 2 def alter(file,old_str,new_str): 3 4 with open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2: 5 for line in f1: 6 f2.write(re.sub(old_str,new_str,line)) 7 os.remove(file) 8 os.rename("%s.bak" % file, file) 9 alter("file1", "admin", "password")
python 修改文件內容3種方法