#!/usr/bin/env python import argparse if __name__ == '__main__': op = argparse.ArgumentParser() subp = op.add_subparsers(dest='action') start = subp.add_parser('start', help = 'Starts a floorb.') start.add_argument('target-name', help = 'Target name.') subp.add_parser('stop', help = 'Stops a floorb.') opts = op.parse_args(['start', 'foo']) assert opts.action == 'start' # whoops, cannot access 'target-name' assert opts.target_name == 'foo'