python 修改文件內容
一、修改原文件方式
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字符串替換的方法,修改文件內容
1 import os 2 def alter(file,old_str,new_str): 3 """ 4 將替換的字符串寫到一個新的文件中,然后將原文件刪除,新文件改為原來文件的名字 5 :param file: 文件路徑 6 :param old_str: 需要替換的字符串 7 :param new_str: 替換的字符串 8 :return: None 9 """ 10 with open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2: 11 for line in f1: 12 if old_str in line: 13 line = line.replace(old_str, new_str) 14 f2.write(line) 15 os.remove(file) 16 os.rename("%s.bak" % file, file) 17 18 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")