Re: Exception style (was: calling python functions using variables)

2006-05-20 Thread Carl Banks
Dennis Lee Bieber wrote: > On Fri, 19 May 2006 14:41:13 +, [EMAIL PROTECTED] (Cameron Laird) > declaimed the following in comp.lang.python: . > > Guys, I try--I try *hard*--to accept the BetterToAskForgiveness > > gospel, but this situation illustrates the discomfort I consistently > >

Re: Exception style (was: calling python functions using variables)

2006-05-20 Thread Carl Banks
Fredrik Lundh wrote: > Cameron Laird wrote: > > > Guys, I try--I try *hard*--to accept the BetterToAskForgiveness > > gospel, but this situation illustrates the discomfort I consistently > > feel: how do I know that the NameError means VARIABLE didn't resolve, > > rather than that it did, but that

Re: calling python functions using variables

2006-05-19 Thread Ben Finney
bruno at modulix <[EMAIL PROTECTED]> writes: > Ben Finney wrote: > > 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(command

Re: Exception style (was: calling python functions using variables)

2006-05-19 Thread Richie Hindle
[Cameron] > try: > getattr(commands, VARIABLE)() > except NameError: > print >> sys.stderr, "Unknown command", VARIABLE > > this situation illustrates the discomfort I consistently > feel: how do I know that the NameError means VARIABLE didn't resolve, > rather than that it did, but that

Re: Exception style (was: calling python functions using variables)

2006-05-19 Thread Fredrik Lundh
Cameron Laird wrote: > Guys, I try--I try *hard*--to accept the BetterToAskForgiveness > gospel, but this situation illustrates the discomfort I consistently > feel: how do I know that the NameError means VARIABLE didn't resolve, > rather than that it did, but that evaluation of commands.VARIABLE

Exception style (was: calling python functions using variables)

2006-05-19 Thread Cameron Laird
In article <[EMAIL PROTECTED]>, Grant Edwards <[EMAIL PROTECTED]> wrote: >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, "Unkn

Re: calling python functions using variables

2006-05-19 Thread Grant Edwards
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]

Re: calling python functions using variables

2006-05-19 Thread bruno at modulix
Ben Finney wrote: > Peter Otten <[EMAIL PROTECTED]> 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 excepti

Re: calling python functions using variables

2006-05-19 Thread Ben Finney
Peter Otten <[EMAIL PROTECTED]> writes: > creo wrote: > > what i want to do is > > commands.VARIABLE() > > where VARIABLE holds the name of the function which i want to execute > > and depends on what the user has typed > > You want > > getattr(commands, VARIABLE)() You'll also need to anticipa

Re: calling python functions using variables

2006-05-19 Thread Peter Otten
creo wrote: > i invoke an 'ls' command like this > commands.ls() > where commands.py is a file in the same directory > > what i want to do is > commands.VARIABLE() > where VARIABLE holds the name of the function which i want to execute > and depends on what the user has typed You want getattr(c

calling python functions using variables

2006-05-19 Thread creo
Hi all! this is a (relatively) newbie question I am writing a shell in Python and I am facing a problem The problem is, after taking the input from user, i have to execute the command which is a python function i invoke an 'ls' command like this commands.ls() where commands.py is a fil