raw_input with a pre-compiled data

Dave Angel davea at dejaviewphoto.com
Sun Jun 21 14:53:28 EDT 2009


Peter Otten wrote:
> Luca wrote:
>
>   
>> On Sat, Jun 20, 2009 at 6:38 PM, Chris Rebert<clp2 at rebertia.com> wrote:
>>     
>>> On Sat, Jun 20, 2009 at 7:17 AM, Luca<lucafbb at gmail.com> wrote:
>>>       
>>>> Hi all.
>>>>
>>>> I need to use a function like the raw_input to read data from user
>>>> command line, but I really like to pre-compile the choice and I'm not
>>>> able to do this. There is some other function/module I can use?
>>>> I wanna to pre-compile the raw_input input line with the current working
>>>> path.
>>>>         
>>> What does "pre-compile" mean in this context? It's not clear at all,
>>> so I can't even understand your question.
>>>       
>> I'm really sorry to all that replied... In fact I literally traduced a
>>     
>
> With "traduced" you stumbled upon another false friend ;)
>
> http://it.wikipedia.org/wiki/Falso_amico
>
>   
>> concept from italian and the term precompiled was not so clear...
>>
>> What I mean is this: I wanna that raw_input (or other modules) ask to
>> the user the data, but some data inserted is already present, to the
>> user can cancel it with the BACKSPACE key.
>>
>> Examples below (the "_" is the initial cursor position).
>>
>>  >>> raw_input("Insert the directory to work: ")
>>  Insert the directory to work: _
>>
>> What I need is:
>>  >>> XXX_raw_input("Insert the directory to work: ",
>>  >>> default="/home/john/")
>>  Insert the directory to work: /home/john_
>>
>> In the second example a user can cancel the text "/home/john".
>>
>> I hope this time is more clear, sorry again.
>>     
>
>
> import readline
>
> def input_default(prompt, default):
>     def startup_hook():
>         readline.insert_text(default)
>     readline.set_startup_hook(startup_hook)
>     try:
>         return raw_input(prompt)
>     finally:
>         readline.set_startup_hook(None)
>
> print input_default("directory? ", default="/home/john")
>
> The cmd module may also be worth having a look.
>
> Peter
>
>
>   
The readline module is specific to Unix implementations.  I don't know 
what OS the OP was using.





More information about the Python-list mailing list