|  | import argparse | 
|  | import os | 
|  | import os.path | 
|  |  | 
|  |  | 
|  | if __name__ == "__main__": | 
|  | parser = argparse.ArgumentParser() | 
|  | parser.add_argument("--input-file") | 
|  | parser.add_argument("--output-file") | 
|  | parser.add_argument("--install-dir", "--install_dir") | 
|  | parser.add_argument("--replace", action="append", nargs=2) | 
|  | options = parser.parse_args() | 
|  |  | 
|  | with open(options.input_file, "r") as f: | 
|  | contents = f.read() | 
|  |  | 
|  | output_file = os.path.join(options.install_dir, options.output_file) | 
|  | os.makedirs(os.path.dirname(output_file), exist_ok=True) | 
|  |  | 
|  | for old, new in options.replace: | 
|  | contents = contents.replace(old, new) | 
|  |  | 
|  | with open(output_file, "w") as f: | 
|  | f.write(contents) |