Cómo ejecutar una función de Python sin límite de tiempo

Escrito por michael carroll | Traducido por beatriz sánchez
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Cómo ejecutar una función de Python sin límite de tiempo
El lenguaje Python incluye varias formas para retrasar la ejecución de una función. (Hemera Technologies/AbleStock.com/Getty Images)

El lenguaje Python incluye varias formas para retrasar la ejecución de una función. El método "sleep" del módulo "time" te permite insertar un retraso antes de que la ejecución continúe. El módulo "sched" te permite planificar funciones para que se ejecuten con un determinado retraso, sin prioridades. El objeto "Timer" del módulo "threading" retrasa la ejecución de una función en un contexto de varios hilos.

Nivel de dificultad:
Moderadamente fácil

Otras personas están leyendo

Instrucciones

    time.sleep

  1. 1

    Importa el módulo "time" con el comando "import time".

  2. 2

    Utiliza el comando "time.sleep(2)" para retrasar la ejecución del programa durante dos segundos.

  3. 3

    Coloca pausas con periodos de tiempo más cortos utilizando números decimales. Por ejemplo, utiliza "time.sleep(.005)" para conseguir un retraso de 5 ms. Este retraso no es completamente preciso, ya que hay otros hilos en ejecución además de los de Python.

  4. 4

    Llama a una función inmediatamente después del comando "time.sleep" para ejecutarla justo después de la pausa.

    Objeto Scheduler (planificador)

  1. 1

    Importa los módulos "time" y "sched" con el comando "import time,sched".

  2. 2

    Crea un objeto planificador con el comando "schedule = sched.scheduler(time.time,time.sleep)". Los dos parámetros son una función que devuelve la hora actual y otra que provoca un retraso. Puedes utilizar otras funciones además de las que hay en el módulo "time", por ejemplo, si vas a crear una simulación que implemente su propia variable de tiempo.

  3. 3

    Añade una función al planificador con el comando "schedule.enter(2,1,print,'0')". La función "print" está planificada para que se ejecute dos segundos después de que se ejecute este comando, con el parámetro '0'. El segundo parámetro ('1') es la prioridad de este evento, que se ponderará con otros eventos del planificador.

  4. 4

    Inicia el planificador con el comando "schedule.run()". Ten en cuenta que el retraso de cada evento es relativo a cuando se llame a "enter", no a cuando se llame a "run".

    Objeto Timer (temporizador)

  1. 1

    Importa el módulo "threading" con el comando "import threading".

  2. 2

    Crea un nuevo objeto Timer con el comando "timer = threading.Timer(5,print,'0')". El formato es el mismo que en la función "enter" del módulo "sched", pero no tiene parámetro de prioridad.

  3. 3

    Inicia el temporizador con el comando "timer.start()". El retraso empezará con este comando. Podrás ejecutar otros comandos antes de que Timer termine de esperar.

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles