30-05-2017, 03:52 PM
Buenas a tod@s, Qué tal? primero que nada decir que soy nuevo en python y tengo un problema con este script que estoy haciendo se trata basicamente en crear un script que consta de dos funciones que se acceder desde un bucle while infinito que también esta pulsando una tecla cada medio segundo. Mi problema radica en la lectura del teclado, ya que para acceder a las dos funciones que tengo quiero hacerlo a través del teclado realice la función y vuelva al bucle. El bucle siempre tiene que estar en ejecución, por lo tanto tendría que estar pulsando la tecla antes de llegar a la línea de código que lee el teclado.
Trabajo en windows 10, con python 2.7 y mi IDE es pycharm.
Ya lo he intentado con el módulo msvcrt.kbhit() y msvcrt.getch() y creo que no me funciona para lo que quiero, debido a que
se queda en esa parte del código y no vuelve al bucle. además que también me da problema con el IDE y tengo que ejecutar el
código a traves de la consola de python.
gracias por vuestra atención.
Trabajo en windows 10, con python 2.7 y mi IDE es pycharm.
Código:
import msvcrt
import win32com.client
import time
Shell= win32com.client.Dispatch("WScript.Shell")
def funcion1():
#realiza la función 1
return
def funcion2():
#realiza la funcion 2
return
while True:
Shell.SendKeys("{F9}") #tecla que va a estarse pulsando continuamente
time.sleep(0.5) #tiempo de espera
#PARTE DEL CÓDIGO QUE ME FALTA, DONDE LEE EL TECLADO Y SE GUARDA EN "TECLA"
if tecla == 1:
funcion1()
elif tecla == 2:
funcion2()
#SE REPITE EL PROCESO
Ya lo he intentado con el módulo msvcrt.kbhit() y msvcrt.getch() y creo que no me funciona para lo que quiero, debido a que
se queda en esa parte del código y no vuelve al bucle. además que también me da problema con el IDE y tengo que ejecutar el
código a traves de la consola de python.
gracias por vuestra atención.