calling python functions using variables

bruno at modulix onurb at xiludom.gro
Fri May 19 06:42:32 EDT 2006


Ben Finney wrote:
> Peter Otten <__peter__ at web.de> writes:
(snip)
>>
>>You want
>>getattr(commands, VARIABLE)()
> 
> You'll also need to anticipate the situation where the value bound to
> VARIABLE is not the name of an attribute in 'commands'.
> 
> 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.

-- 
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb at xiludom.gro'.split('@')])"



More information about the Python-list mailing list