1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
import os import re import glob
def replace_text(file_path, search_str): try: with open(file_path, 'r', encoding='utf-8') as f ,open("%s.bak"%file_path, 'w', encoding='utf-8') as fw: data = f.read() res = re.findall(search_str, data) if res : newData = re.sub(search_str, r'<script type="text/javascript" src="\g<2>/jquery-\g<3>.js"></script>\n<script type="text/javascript" src="\g<2>/jquerynew.js"></script>\n<script type="text/javascript" src="\g<2>/layer.js"></script>\n<script type="text/javascript" >var $jq = jQuery.noConflict(true);console.log($().jquery);</script>' , data) fw.write(newData) f.close() fw.close() os.remove(file_path) os.rename("%s.bak" % file_path, file_path) else: f.close() fw.close() os.remove("%s.bak" % file_path) except UnicodeDecodeError: with open(file_path, 'r', encoding='gbk') as f ,open("%s.bak"%file_path, 'w', encoding='gbk') as fw: data = f.read() res = re.findall(search_str, data) if res : newData = re.sub(search_str, r'<script type="text/javascript" src="\g<2>/jquery-\g<3>.js"></script>\n<script type="text/javascript" src="\g<2>/jquerynew.js"></script>\n<script type="text/javascript" src="\g<2>/layer.js"></script>\n<script type="text/javascript" >var $jq = jQuery.noConflict(true);console.log($().jquery);</script>' , data) fw.write(newData) f.close() fw.close() os.remove(file_path) os.rename("%s.bak" % file_path, file_path) else: f.close() fw.close() os.remove("%s.bak" % file_path) files = glob.glob("D:\source\project/**/*.aspx*",recursive=True) search_str = "<script(.*)src=\"(.*)/jquery-(.*).js\"(.*)>(.*)</script>" search_str_reg = re.compile(search_str,flags=re.IGNORECASE)
for file_path in files: replace_text(file_path, search_str_reg )
|