Overview of Python modules for option parsing:
getopt - procedural interface in stdlib for refugees from the C camp
optparse - stdlib name for Optik, a revolutionary API for option parsing in Python 2.x
argparse - optparse pumped up for Python 3.x (and included in Python 2.7)
The goal of option parsing
The option parsing goal can be split in two parts:
- identifying the command user needs to execute
- changing configuration for the program
For the first part, it will be good if option parsing library could handle 'subcommands'. It is known that 'argparse' can do this and 'optparse' cannot. 'docopt' probably handles this transparently.
For the second thing there should be some strategy to choose how (and which) options are merged into configuration to make the process of program configuration easy for the user and occasional patch contributors.
See also ConfigParser.