On Tue, Oct 16, 2012 at 7:27 AM, Steven D'Aprano <steve+comp.lang.pyt...@pearwood.info> wrote: > On Tue, 16 Oct 2012 10:30:01 +0200, Peter Otten wrote: > >> Steven D'Aprano wrote: >> >>> I'm working with the readline module, and I'm trying to set a key >>> combination to process the current command line by calling a known >>> function, *and* enter the command line. >>> >>> Something along the lines of: >>> >>> * execute function spam() in some context where it can access >>> the current command line as a string >>> * enter the command line >>>
I'm working on the dictionary now,but I came up with this, which uses a list as the key, and accepts the params to perform the function: import subprocess as sub key_list = ['print_something','espeak'] def print_something(params): print "%s" % (params) def espeak(params): sub.call(['espeak','%s' % (params)]) key = raw_input("Please enter key: ") for line in key_list: if str(line) == key: params = raw_input("Enter Params: ") eval("%s('%s')" % (key,params)) I keep getting the function performed in the dict. I'll figure it out eventually, I know I've done it before, and it might be a lambda solution...not sure. But the above could be refined more, it just uses a list, and key/params. -- Best Regards, David Hutto CEO: http://www.hitwebdevelopment.com -- http://mail.python.org/mailman/listinfo/python-list