[EMAIL PROTECTED] wrote: > I'm completely new to python, so sorry for my ignorence. > How does one go about converting a string, for instants one received through > tcp, into something that can be called as a function? > I'm trying to have what the user sends to the computer through the network, > run as a function. > If the user sends "motd", the function motd will be run inside the script.
The unsafe way is to run the string through exec or eval(): s = 'motd()' # string received from user via the network . . . exec s A safer way is to create a limited vocabulary of calls, look them up in a dictionary and dispatch them to pre-built functions: vocab = {'motd': motd, 'quit':quit, 'save':save} . . . s = 'motd' # string received from user via the network . . . vocab[s]() # lookup the string and run it if defined -- http://mail.python.org/mailman/listinfo/python-list