Argument parsing with OptionParser
Programación, Python 5 de March de 2007From Python 2.3 we've the module optparse on standard library, which serve us for parse options and arguments passed to our programs, doing it easy and handy.
Here's an example:
from optparse import OptionParser if __name__ == '__main__': usage = "%prog [options] arg1 arg2" parser = OptionParser(usage=usage, version="%prog 1.0") parser.add_option('-v','--verbose', action='store_true', dest='verbose', help='shows detailed information') parser.add_option('-q','--quiet', action='store_false', dest='verbose', help='hides detailed information') parser.add_option('-f','--filename', action='store', dest='filename', help='name of the file to load') (options, args) = parser.parse_args() if options.verbose: print "Extra info enabled" else: print "Extra info disabled" if options.filename: print "I'll open", options.filename, "file." if args > 0: print "\nArguments:" for x in args: print " ",x
Let's see some results depending on arguments passed:
$ python option.py Extra info disabled
$ python option.py -v Extra info enabled
$ python option.py -h
usage: option.py [options] arg1 arg2
options:
--version show program's version number and exit
-h, --help show this help message and exit
-v, --verbose shows detailed information
-q, --quiet hides detailed information
-f FILENAME, --filename=FILENAME
name of the file to load
$ python option.py -f fichero.txt "First" "Second" "Last argument" Extra info disabled I'll open fichero.txt file. Arguments: First Second Last argument
Notice it knows options from arguments, as you can see in the last example.

