On 2006-05-19, bruno at modulix <[EMAIL PROTECTED]> wrote:

>> Either deal with the resulting NameError exception (EAFP[0])
>
> try:
>   getattr(commands, VARIABLE)()
> except NameError:
>   print >> sys.stderr, "Unknown command", VARIABLE
>
>> or test
>> first whether the attribute exists (LBYL[1]).
>
> command = getattr(commands, VARIABLE, None)
> if command is None:
>   print >> sys.stderr, "Unknown command", VARIABLE
> else:
>   command()
>
> I'd go for the first solution.

Me too.  Assuming the user isn't clueless, the normal case is
where the command exists.  Write code for the normal case and
use the exception that occurs for exceptional cases.

-- 
Grant Edwards                   grante             Yow!  This PIZZA symbolizes
                                  at               my COMPLETE EMOTIONAL
                               visi.com            RECOVERY!!
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to