#!/usr/bin/env python import subprocess import os import sys basedir = os.path.dirname(sys.argv[0]) readme = os.path.join(basedir, "README.md") with open(readme) as f: inp = f.read() out = "" it = iter(inp.splitlines(True)) for line in it: out += line if line.startswith("```cmdoutput"): # Get command. cmd = next(it) assert cmd.startswith("$ "), cmd real_cmd = cmd[2:].strip() out += cmd print("Running: " + real_cmd) out += subprocess.check_output(real_cmd, shell=True) # Skip pre-existing command output. line = next(it) while not line.startswith("```"): line = next(it) out += line with open(readme, "w") as f: f.write(out)