Cómo ejecutar scripts Python automáticamente todos los días en Windows

En esta publicación les mostraré cómo programar la ejecución de un script Python usando el Programador de tareas (Windows Task Scheduler) de Windows. Esto te ayudará a automatizar tareas usando Python en Windows.

Programador de tareas (Windows Task Scheduler) de Windows

¿Imaginas todo lo que podrías automatizar si ejecutas una o muchas tarea/s (script en Python) todos los días o los días que tu quisieras, a una hora determinada? Esto es lo que vamos a cubrir hoy en Windows, pero en una futura entrada también les explicaré como utilizarlo en Linux o MAC.

Índice()

    ¿Qué es el Programador de tareas de Windows?

    El Programador de tareas de Windows es un componente que brinda la capacidad de programar y automatizar tareas en Windows ejecutando scripts o programas automáticamente en un momento dado.

    Comencemos a usar el Programador de tareas de Windows

    Para ejecutar nuestro programa en Python con el programador de tareas de Windows, primero debemos crear una tarea, crear una acción, agregar la ruta del archivo ejecutable Python, el Path de nuestro archivo.py y agregar un trigger para inicializar el programa.

    1. Crea tu primera tarea

    Busque "Programador de tareas" en el inicio de Windows.

    Abrir Programador de tareas de Windows

    Esto abrirá la GUI del Programador de tareas de Windows.

    Vaya a Acción> Crear tarea…

    Acción - Crear Tarea - Programador de Tareas

    Agréguele un nombre y opcional una descripción de lo que realizará la tarea.

    Nombre Tarea - Programador de Tareas

    2. Crea una acción

    Vaya a Acciones - Nueva...

    Acciones - Nueva

    3. Agregue el archivo ejecutable Python (.exe) al script que queremos automatizar

    Busque el Path de Python usando where python en la línea de comando (consola).

    Where Python Command

    Copie toda la ruta del Path (python.exe) para agregarlo en la acción de la tarea.

    4. Agregar el path de Python.exe y el path de nuestro script a automatizar

    En Acción dejamos la opción "Iniciar un Programa"

    En el TextBox Programa o Script podemos buscar en examinar o si ya tenemos copiado el Path de python.exe lo agregamos acá.

    En Agregar Argumentos agregaremos el nombre de nuestro archivo.py, en mi caso Twitter_Scrapper.py

    Por último, en Iniciar en agregamos la ruta de nuestro archivo.py

    Dar click en OK

    En mi caso todo quedó así:
    Path Python: C:\Users\Diego\AppData\Local\Programs\Python\Python39\python.exe
    Path script a automatizar: C:\Users\Diego\Desarrollo\Proyectos Python
    Argumentos: Twitter_Scrapper.py

    Crear Nueva Acción

    Nota: Alternativamente, podemos crear un archivo .bat que combine nuestro código python con el ejecutable python.exe

    5. Activemos la ejecución de nuestro script

    Vaya a Desencadenadores o Triggers - Nuevo...

    Elija la repetición que desee. Aquí puede programar scripts para que se ejecuten diariamente, semanalmente, mensualmente o solo una vez.

    Nuevo Trigger

    Click en Aceptar

    Una vez que hayamos configurado esto, su desencadenante o Trigger ahora está activo y nuestro script se ejecutará automáticamente todos los días.

    En este caso de ejemplo, la tarea programada se comenzará a ejecutar el 18/02/2021 y se repetirá todos los días cada 5 minutos.

    Hasta aquí el tutorial, espero que esta entrada te sirva tanto como me ha servido a mi aprenderla en su momento. Hoy en día tengo muchos script en automático gracias al programador de tareas de Windows.

    Nos vemos en el próximo artículo, saludos. Diego

    dcaraballo

    Creador de @PythonDiario, amante de la Tecnología y la Naturaleza. Programador Python, C# . NET

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir

    Te has suscrito correctamente al boletín

    Se produjo un error al intentar enviar tu solicitud. Inténtalo de nuevo.

    Mi Diario Python will use the information you provide on this form to be in touch with you and to provide updates and marketing.