The optparse (or perhaps more preferred: argparse) module will actually print a pretty good usage message for you based on the parameters you give to it. See e.g. the main method in https://github.com/SciLifeLab/scilifelab/blob/master/scripts/casava_data_delivery.py