Ejercicios de clase UT5: Scripts de Automatización¶
Contexto¶
En esta unidad, hemos aprendido a utilizar los módulos os y sys para interactuar con el sistema operativo y manejar argumentos de línea de comandos en Python. Ahora, pondremos en práctica estos conceptos a través de una serie de ejercicios enfocados en la automatización de tareas mediante scripts. Asegúrate de entender cada problema y de implementar una solución adecuada utilizando las técnicas aprendidas.
Ejercicio 1 - Listar archivos en un directorio¶
Escribe un script que reciba como argumento el nombre de un directorio y liste todos los archivos y subdirectorios que contiene.
Ejercicio 2 - Crear un directorio¶
Escribe un script que reciba como argumento el nombre de un nuevo directorio y lo cree en el sistema de archivos.
Ejercicio 3 - Eliminar un archivo¶
Escribe un script que reciba como argumento el nombre de un archivo y lo elimine del sistema de archivos.
Ejercicio 4 - Mover un archivo¶
Escribe un script que reciba como argumentos el nombre de un archivo y un nuevo directorio, y mueva el archivo al nuevo directorio.
Ejercicio 5 - Renombrar un archivo¶
Escribe un script que reciba como argumentos el nombre de un archivo y un nuevo nombre, y renombre el archivo con el nuevo nombre.
Ejercicio 6 - Mostrar argumentos de línea de comandos¶
Escribe un script que imprima todos los argumentos de línea de comandos que recibe, uno por línea.
Ejercicio 7 - Contar archivos en un directorio¶
Escribe un script que reciba como argumento el nombre de un directorio y cuente cuántos archivos (no directorios) contiene.
Ejercicio 8 - Eliminar archivos vacíos de un directorio¶
Escribe un script que reciba como argumento el nombre de un directorio y elimine todos los archivos vacíos que contiene.
Ejercicio 9 - Eliminar archivos con una extensión específica¶
Escribe un script que reciba como argumentos el nombre de un directorio y una extensión de archivo (por ejemplo, .txt), y elimine todos los archivos con esa extensión en el directorio.
Ejercicio 10 - Copiar archivos de un directorio a otro¶
Escribe un script que reciba como argumentos el nombre de un directorio de origen y un directorio de destino, y copie todos los archivos del directorio de origen al directorio de destino.
Ejercicio 11 - Borrar los archivos más antiguos que una fecha dada¶
Escribe un script que reciba como argumentos el nombre de un directorio y una cantidad de días, y elimine todos los archivos en ese directorio que no hayan sido modificados en los últimos N días.
Ejercicio 12 - Crear un script que realize una copia de seguridad cada cierto tiempo¶
Escribe un script que utilice el módulo datetime para programar una copia de seguridad de un directorio específico cada cierto intervalo de tiempo (por ejemplo, cada día a las 2 AM). El script debe copiar todos los archivos del directorio original a un directorio de respaldo, añadiendo la fecha y hora al nombre del directorio de respaldo.
Ejercicio 13 - Script para monitorear cambios en un directorio¶
Escribe un script que utilice el módulo time para monitorear un directorio específico y registre en un archivo de log cualquier cambio que ocurra en ese directorio (por ejemplo, creación, eliminación o modificación de archivos). El script debe ejecutarse continuamente y registrar los cambios con una marca de tiempo.