Como sugiere el título, vamos a hablar sobre un módulo de Python llamado 'inotify'. Al final del próximo párrafo, sabrá exactamente qué es inotify y cómo se usa en ejemplos prácticos.
Python tiene una gran cantidad de bibliotecas incorporadas que se pueden usar una vez que se configura su entorno de Python. Dado que la comunidad siempre se está expandiendo, no todo puede estar arraigado en la instalación estándar y también ocuparía mucho espacio innecesario. Aquí es donde entran e inotify los módulos externos es uno de ellos.
Inotify es un kit de herramientas que se especializa en ser un observador para el directorio y el cambio de archivos. Puede darle al módulo una serie de rutas para observar (a partir de una) y cada vez que haya algún cambio en los archivos o en el directorio (como una actualización, mover, eliminar, la creación de nuevos archivos), se planteará una alerta que se puede utilizado para realizar más acciones. Inotify es esencialmente un guardia de seguridad que plantea una alerta cada vez que algo en el entorno cambia e informa la actividad al comando superior (que somos nosotros).
Configurar su entorno
Para hacer uso de inotify, primero tendremos que instalarlo. Antes de pasar a agregar inotify, debemos confirmar si nuestro entorno de Python está en forma estable y de trabajo. Los siguientes comandos deben hacer el truco: sudo apt-get actualización && sudo apt-get install python3.6
En una ejecución exitosa de los comandos, su entorno de Python no debería tener problemas para lidiar con instalaciones adicionales ahora. Si aún necesita verificar, puede abrir el terminal y el tipo python3.6 -V
Este comando emitirá la versión de Python que ha instalado y, si todo salió bien, se le debe solicitar una salida que muestre los números 3.6.
El proceso de instalación de bibliotecas adicionales en Python es muy simple y todo lo que tiene que hacer es escribir el siguiente comando en el terminal de Linux: instalación de sudo pip Como se muestra en la imagen a continuación.
Una vez hecho esto, debería poder comenzar a usar inotfiy sin ningún problema. Para asegurarnos de que hemos configurado correctamente las nuevas instalaciones, utilizaremos el código de documentación que la página oficial de inotify nos ha proporcionado. Hay mucho código que puede probar allí para comprender mejor cómo funciona el módulo. Otra forma de comprender adecuadamente su funcionamiento interno es leer la documentación en detalle. Esa es posiblemente una de las mejores formas en que puede aprender sobre cualquier módulo nuevo que encuentre.
Aplicaciones típicas de inotify
Ahora veremos algunos ejemplos en tiempo real de cómo se utiliza inotify al observar algunos fragmentos de código y sus respectivas salidas.
El siguiente segmento de código hace 2 cosas: le dice al programa qué acciones dar una alerta y para qué directorio debe tener cuidado con los cambios. En este caso, los comandos son crear, borrar, modificar y mover. El directorio es /etc
El comando después del símbolo Ampersand nos permite crear un archivo en el directorio que le hemos dicho a Inotfiy que vigilemos y este es el resultado:
Como puede ver, se planteó una alerta en la creación del archivo. Ahora, intentaremos mover un archivo al directorio usando el siguiente código:
La alerta de un archivo que se mueve se muestra de una manera muy comprensible y nada es ambiguo. El resultado del archivo que se mueve debería verse así:
El próximo comando será de un archivo que se elimina y lo que el programa inotfiy nos dirá. De los ejemplos anteriores, podemos ver que todas las salidas tienen el comando realizado en letras mayúsculas que le permite al usuario saber qué sucedió inmediatamente. El comando Eliminar no es diferente de los demás en términos de claridad y puede verlo aquí:
Es una característica muy efectiva que sin duda agrega valor al uso de inotfiy.
Este pequeño tutorial debería familiarizarse con los entresijos de cómo funciona inotify y no debe tener ningún problema mientras realiza tareas más grandes y complicadas. La documentación es muy clara y concisa sobre lo que tiene que hacer y cómo. Este módulo no es utilizado muy activamente por otros programadores, por lo que puede ser un poco difícil encontrar soluciones a problemas específicos.