Argument parsing with OptionParser
Programación, Python No hay comentarios »
From 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.

