import argparse def parse_arguments(actions): parser = argparse.ArgumentParser() parser.add_argument("action", choices=actions) return parser.parse_args() def main(): def func1(): pass def func2(): pass loc_tmp = dict(locals()) loc_funcs = [x for x in loc_tmp if callable(loc_tmp[x])] ns = parse_arguments(loc_funcs) loc_tmp[ns.action]() if __name__ == '__main__': main()