Foros del Web » Programando para Internet » Python »

realizar un proceso hasta q presione la tecla ESC

Estas en el tema de realizar un proceso hasta q presione la tecla ESC en el foro de Python en Foros del Web. Hola!!! estoy haciendo un programa que está en un while, entonces quiero q cada vez q se termina un ciclo pregunte si desea llevarlo a ...
  #1 (permalink)  
Antiguo 26/04/2011, 17:19
 
Fecha de Ingreso: abril-2011
Mensajes: 30
Antigüedad: 8 años, 4 meses
Puntos: 0
Pregunta realizar un proceso hasta q presione la tecla ESC

Hola!!! estoy haciendo un programa que está en un while, entonces quiero q cada vez q se termina un ciclo pregunte si desea llevarlo a cabo nuevamente y que para llevarlo a cabo nuevamente solo tenga q presionar enter y si no quiero llevarlo a cabo nuevamente presionar ESC, estuve investigando y parece q hay q usar msvcrt.getch() (sí uso windows) pero no pude hacerlo funcionar. sigo investigando y descubro q hay q usar tambien msvcrt.kbhit(), este ultimo lo q hace es retornar un valor de true o false si se ha presionado una tecla....pero tampoco sirve y no he encontrado un solo ejemplo q funcione!! espero q me ayuden. gracias!!!
Código Python:
Ver original
  1. def leer():
  2.     k=msvcrt.getch()
  3.     return k
ese código anterior lo q se supone q debería hacer es retornar la tecla q presioné...pero no funciona........
espero respuestas gracias
  #2 (permalink)  
Antiguo 26/04/2011, 18:19
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 14 años, 6 meses
Puntos: 1360
Respuesta: realizar un proceso hasta q presione la tecla ESC

A mi si me funciona:
Código Python:
Ver original
  1. from msvcrt import getch
  2.  
  3. c = getch()
  4. if c == '\r':
  5.     print "presionaste enter"
  6. elif c == '\x1b':
  7.     print "presionaste esc"
  8. else:
  9.     print "No se que presionaste"
  #3 (permalink)  
Antiguo 26/04/2011, 18:21
 
Fecha de Ingreso: abril-2011
Mensajes: 30
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: realizar un proceso hasta q presione la tecla ESC

Cita:
Iniciado por razpeitia Ver Mensaje
A mi si me funciona:
tendrá algo q ver con q uso python 2.7????
  #4 (permalink)  
Antiguo 26/04/2011, 18:37
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 14 años, 6 meses
Puntos: 1360
Respuesta: realizar un proceso hasta q presione la tecla ESC

Puede ser, prueba con python 2.6
  #5 (permalink)  
Antiguo 26/04/2011, 21:51
 
Fecha de Ingreso: abril-2011
Mensajes: 30
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: realizar un proceso hasta q presione la tecla ESC

q raro.....tampoco con 2.6...
  #6 (permalink)  
Antiguo 26/04/2011, 22:30
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 14 años, 6 meses
Puntos: 1360
Respuesta: realizar un proceso hasta q presione la tecla ESC

¿Que te aparece?
¿Te muestra algún error, si es así cual?
¿No lo estas ejecutando desde algún IDLE o si, si es asi prueba desde el cmd?
  #7 (permalink)  
Antiguo 27/04/2011, 17:08
 
Fecha de Ingreso: abril-2011
Mensajes: 30
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: realizar un proceso hasta q presione la tecla ESC

no funciona en el IDLE??? mmm q mal.....existe alguna manera de hacer eso en el IDLE??? ya lo probé en el cmd y si funciona pero en el IDLE no.....
  #8 (permalink)  
Antiguo 27/04/2011, 17:11
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 14 años, 6 meses
Puntos: 1360
Respuesta: realizar un proceso hasta q presione la tecla ESC

Mira los IDLE son regularmente un bind de una consola. Así que no esperes que funcione en el IDLE.
  #9 (permalink)  
Antiguo 27/04/2011, 17:31
 
Fecha de Ingreso: abril-2011
Mensajes: 30
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: realizar un proceso hasta q presione la tecla ESC

pues ni modo tendré q hacerlo sin eso....la persona q revisa los trabajos de la U lo hace en el IDLE....muchas gracias por tu ayuda ya es la segunda vez!!!!!
  #10 (permalink)  
Antiguo 19/08/2011, 10:29
Avatar de Lautaro_eb  
Fecha de Ingreso: mayo-2010
Ubicación: El Bolson, Rio Negro, Argentina
Mensajes: 283
Antigüedad: 9 años, 3 meses
Puntos: 24
Respuesta: realizar un proceso hasta q presione la tecla ESC

Prueva con escribir "bip install getch" En la consola si trabajas en linux sino "esay_install paquete"
  #11 (permalink)  
Antiguo 19/08/2011, 12:28
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: realizar un proceso hasta q presione la tecla ESC

Lautaro, por favor cuida la ortografía:
pip install
easy install

Además este no era un problema de un paquete no instalado, ya que si así lo fuera el error devuelto sería otro
  #12 (permalink)  
Antiguo 31/08/2011, 10:53
 
Fecha de Ingreso: enero-2010
Ubicación: Madrid/España
Mensajes: 89
Antigüedad: 9 años, 8 meses
Puntos: 3
Respuesta: realizar un proceso hasta q presione la tecla ESC

Me puede interesar eso. ¿Cómo se hace en linux para averiguar la tecla que ha presionado el usuario? Al menos a mi no me encuentra el paquete msvcrt (repito, estoy en linux)
  #13 (permalink)  
Antiguo 31/08/2011, 14:38
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: realizar un proceso hasta q presione la tecla ESC

msvcrt = "Microsoft Visual C Runtime", es obvio que no funcionará en linux :)

En Linux parece que necesitarás ncurses, SDL: http://ubuntuforums.org/showthread.php?t=613916, o alguna otra biblioteca gráfica.


Saludos.

Etiquetas: empezar, enter, proceso, realizar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:45.