[Python] posizionare il cursore

Lorenzo Sutton lorenzofsutton a gmail.com
Gio 30 Ago 2012 08:56:05 CEST


On 29/08/12 18:50, csplit wrote:
> Il 29/08/2012 12:31, Lorenzo Sutton ha scritto:
>> On 28/08/12 21:59, csplit wrote:
>>> Ciao a tutti.
>>> Voglio usare Python 3.1.2 secondo il paradigma della programmazione
>>> strutturata e ho il problema di posizionare il cursore in termini di
>>> riga e colonna nella finestra grafica aperta da IDLE.
>>> Cerco qualcosa che assomigli a LOCATE CSRLIN POS LPOS del vecchio 
>>> qbasic.
>>> Es.:
>>> leggo un numero da tastiera:
>>> np=input("Numero? ")
>>> elaboro e stampo il risultato:
>>> print (giocata," ",np ,ris)
>>> voglio ottenere questo:
>>>
>>> Numero? 12345  1   12345 I o o
>>>                ^
>>>              _qui_
>>> voglio posizionarmi _qui_ ma non riesco.
>>
>> Su un terminale (linux) che riconosca gli escape VT100 [1][2] potresti
>> fare un hack del genere (Python 2.7):
>>
>> prompt_string = "Numero: "
>> np = raw_input(prompt_string)
>> right_pad = len(prompt_string) + len (np)
>> move_right_esc = "\033[%dC" % right_pad
>> line_up_esc = "\033[1A"
>> print line_up_esc + move_right_esc," " * 2, "1" , np,"o" ,"o"
>
> Ecco, questa è la soluzione che cercavo, peccato che non riesca a 
> farla funzionare nella finestra di IDLE.

Perché per forza la finestra IDLE? Sarà questo l'ambiente che userai 
realmente quando rilascerai il tuo programma? Solo per curiosità :)

>
>> Ma forse è meglio curses come molti hanno già consigliato :)
>>
>> Lorenzo.
>
> Sì, mi sto rassegnando all'idea di usare ncurses,
>
>> [1] http://it.wikipedia.org/wiki/VT100
>
> Ottimo link:
>> [2] http://ascii-table.com/ansi-escape-sequences-vt-100.php
>
>>> E' possibile?
>>> Se sì, come?
>
> Ciao e grazie.
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python



Maggiori informazioni sulla lista Python