python全域性替換檔案內容指令碼
阿新 • • 發佈:2021-12-14
#!/usr/bin/python #coding=utf8 # 用替換檔案裡的內容 替換掉 原始檔中 指定的字串(正則匹配),生成目標檔案(新檔案) import re try: count = 0 ##記錄替換次數 f_rep = open("C:\\Users\\harol\\Downloads\\替換檔案.txt", 'r', encoding='utf-8') # 需要替換的字元檔案 f_older = open("C:\\Users\\harol\\Downloads\\被替換檔案.txt", 'r+', encoding='utf-8') ## 被替換的原始檔(模板等) f_new = open("C:\\Users\\harol\\Downloads\\新檔案.txt", 'w+', encoding='utf-8') ## 開啟檔案 (替換後的新檔案) order_read = f_older.read() ##被替代檔案字串 pat = re.compile("(3[a-zA-Z0-9]{9})") ## 正則匹配被替代檔案 order_list = pat.split(order_read) ## 檔案被目標字元分割 m1 = pat.findall(order_read) ## 目標列表 lines = f_rep.readlines() ## 替代檔案內容列表 line =[] for lin in lines: lin = lin.strip() line.append(lin) ## 去除替代檔案列表的換行符 while count < len(m1) and count< len(line): order_list[2*count+1]=line[count] ## 替換新的檔案列表 count += 1 l_new = ''.join(order_list) ## 列表轉換為字串 f_new.write(l_new) ## 字串寫入檔案 print(l_new) except Exception as e: print(e) finally: f_rep.close() f_older.close() f_new.close() ## 關閉檔案 print(count)