Still on my journey to learn Python. At the moment I define the test functionality in the following way: if __name__ == '__main__': keywords = [ 'all', 'factorial', 'fibonacci', 'happy', 'lucky', ] keywords_msg = [ '--all', '--factorial', '--fibonacci', '--happy', '--lucky', ] (options, extraParams) = getopt.getopt(sys.argv[1:], '', keywords) progname = split(sys.argv[0])[1]
if len(options) > 1 or len(extraParams) != 0: error = '{0}: Wrong parameters ({1})'. \ format(progname, ' '.join(sys.argv[1:])) usage = ' {0} {1}'.format(progname, ' | '.join(keywords_msg)) print(error, file = sys.stderr) print(usage, file = sys.stderr) sys.exit(1) do_all = do_factorial = do_fibonacci = do_happy = do_lucky = False if len(options) == 0: do_all = True else: action = options[0][0] if action == '--all': do_all = True elif action == '--factorial': do_factorial = True elif action == '--fibonacci': do_fibonacci = True elif action == '--happy': do_happy = True elif action == '--lucky': do_lucky = True else: print >> sys.stderr, progname + ': Unhandled parameter ' + action sys.exit(1) if do_all or do_factorial: . . . Is this an acceptable way of working? -- Cecil Westerhof Senior Software Engineer LinkedIn: http://www.linkedin.com/in/cecilwesterhof -- https://mail.python.org/mailman/listinfo/python-list