[on topic] Re: readline trick needed

Dwight Hutto dwightdhutto at gmail.com
Tue Oct 16 10:14:54 EDT 2012


On Tue, Oct 16, 2012 at 7:27 AM, Steven D'Aprano
<steve+comp.lang.python at 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



More information about the Python-list mailing list