Here's Guido's take on it: http://www.artima.com/weblogs/viewpost.jsp?thread=4829 Dave's version helped me get the point of all this, thanks. Nitpicking, I think Skip's is imperfectly from memory since opts, args = getopt.getopt(args, "h", ["help"]) doesn't seem to match for opt, arg in opts: mt