#! /usr/bin/python3 # ================================================================== # test using RegExp in Python3 to modify a file. In this case it # is a HTML file. # ------------------------------------------------------------------ # # Notes: # # 1. This code assumes my coding style. For example # <title>........</title> is on a single line. # Other single lines include: # <meta name="author" ....................... /> # <link rel="stylesheet"..................... /> # <link rel="icon" .......................... /> # <link rel="shortcut icon" ................. /> # # 2. A special case of the single line rule is # surounded by footer tags: # <footer> # <modate>Last Modified: ....... </modate> # </footer> # # ================================================================== import re pattern1 = r'^<title>(.*)</title>$' replacement1 = '<title>Lots of My Stuff</title>' pattern2 = r'^<link rel="icon"(.*)/>' replacement2 = \ '<link rel="icon" href="xyz.png" type="image/png" />' pattern3 = r'^<link rel="shortcut icon"(.*)/>' replacement3 = \ '<link rel="shortcut icon" href="xyz.png" type="image/png" />' file = "index.html" # ---- open the input file inFile = open(file,'r') if not inFile: print("File open failed ({})".format(file)) quit() # ---- process every line in the file for line in inFile: # ---- strip leading and trailing whitespace line = line.strip() # --- output the line replacing the title line, etc. if re.search(pattern1,line): print(replacement1) elif re.search(pattern2,line): print(replacement2) elif re.search(pattern3,line): print(replacement3) else: print(line) # ---- close the input file inFile.close()