Python con palabra clave

Python con palabra clave

"En Python, la palabra clave con se usa para hacer que el código sea más claro y más comprensible. Hace que los recursos comunes, como las transmisiones de archivos sean más fáciles de manejar. La palabra clave "con" en Python sustituye una buque corta distancia para un bloque de captura de try. También asegura que los recursos se cierren inmediatamente después de ser procesados. Un caso popular de usar la palabra clave "con" es leer/escribir en un archivo. Un administrador de contexto es un método o clase que ayuda a los usuarios con palabras clave. Un gerente de contexto le permite abrir y cerrar recursos según sea necesario. Considere dónde el uso de la palabra clave limpia el código en los siguientes ejemplos."

Ejemplo 1: Manejo de archivos sin la palabra clave "con"

En primer lugar, hemos mostrado los dos ejemplos de manejo de archivos sin el
Palabra clave "con". Aquí, simplemente podemos abrir el archivo my_file en modo de escritura "w."Con el método de escritura; Hemos insertado el texto dentro del archivo. El archivo está cerrado invocando el método cerrado.

Puedes averiguar que el texto se incorpora dentro del my_file.

Hay un segundo ejemplo de manejar el archivo con el bloque de captura de try.

El script anterior tiene la siguiente salida.

Ejemplo 2: Manejo de archivos con la palabra clave "con"

Ahora, en el siguiente ejemplo, Snap, utilice la palabra clave "con" para el manejo de archivos.

No hay necesidad de llamar a los archivos aparte de las dos primeras implementaciones. Al emplear la palabra clave "con", se llama a Close (). La declaración "con" asegura que los recursos se obtengan y se publiquen correctamente. Durante el archivo, hay una excepción. La función Write () en el primer enfoque puede prohibir que el archivo se cierre correctamente, lo que resulta en varios errores en el código, ya que muchas modificaciones a los archivos no funcionan correctamente hasta que el archivo esté cerrado correctamente. Así es como la palabra clave nos permite escribir en el archivo. El texto del archivo se muestra dentro del my_file.

La segunda solución en el ejemplo anterior maneja todas las excepciones, pero utilizar la palabra clave "con" hace que el código sea mucho más conciso y claro. Como resultado, la declaración con declaración ayuda a evitar problemas y escapa al confirmar que un objeto se renuncia correctamente cuando el código que lo usa se realiza completamente. La palabra clave con se usa comúnmente junto con las secuencias de archivo, como se demostró anteriormente, así como bloqueos, enchufes, subprocesos, telnet y otros tipos de conexiones.

Ejemplo 3: Manejo de archivos definidos por el usuario con la palabra clave "con"

No hay nada inusual en Open () que lo hace adecuado para su uso con la palabra clave "con", ya que la misma capacidad se puede encontrar en objetos definidos por el usuario. Al usar una palabra clave "con" en sus objetos, nunca dejará un recurso abierto. Los procedimientos __enter __ () y __exit __ () en las operaciones de objeto son todo lo que se requiere para usar la palabra clave "con" en objetos definidos por el usuario. Eche un vistazo al código debajo para obtener más información.

Veamos el código mencionado anteriormente. El objeto de función () de MessageWriter es inmediatamente después de la palabra clave "con", como puede ver. Python crea un objeto MessageWriter y luego ejecuta el método __enter __ () tan pronto como el programa llega al área de la palabra clave "con". En este método __enter __ (), especifique el recurso que se utilizará en el objeto. El descriptor del recurso obtenido siempre debe ser devuelto mediante este método __enter __ ().

El texto se almacena en el my_file3.txt aquí por la palabra clave "con" python "con".

Ejemplo 4: Uso del paquete ContextLib para el manejo de archivos con la palabra clave "con"

El sistema operativo proporciona estas manijas para acceder a los recursos necesarios. Aquí, el descriptor del recurso de transmisión de archivo se presenta en el bloque de código posterior.

La técnica __enter __ () genera y devuelve un descriptor de archivo en la muestra de MessageWriter mencionada anteriormente. El método Enter () es devuelto por un descriptor de archivo que se conoce como un archivo en este ejemplo. Dentro de la declaración "con" es la sección del código que utiliza el recurso adquirido. El procedimiento __exit __ () se considera cuando el programa dentro del cuerpo "con" se ha ejecutado. En el método __exit __ (), todos los recursos recopilados son renunciados. Con objetos definidos por el usuario, utilizamos la palabra clave "con" de esta manera.

Gerente de contexto:

Context Manager se refiere a la interfaz de las operaciones __enter __ () y __exit __ () que habilitan la palabra clave "con" en objetos definidos por el usuario.

El Administrador de contextos basado en clase mencionado anteriormente no es el único enfoque para habilitar la palabra clave "con" en objetos definidos por el usuario. El módulo ContextLib extiende la interfaz de Manager de contexto fundamental con algunas abstracciones adicionales. Usando el módulo contextLib, el objeto MessageWriter puede ser actualizado por el administrador de contextores.

La función Open File () es un método de generador en esta muestra de código debido a la declaración de rendimiento general en su definición.

Cuando se utiliza la función Open File (), se crea un archivo de descriptor de propiedades llamado. A la persona que llama se le asigna a este descriptor de recursos, que está representado anteriormente por la variable mi archivo. El control del programa vuelve al método Open File () después de que se ejecute el programa dentro de la sección con. El método Open File () reanuda su ejecución después de la declaración de rendimiento y realiza el código que lo sigue. Esta sección del código ocurre justo después de la declaración de rendimiento y libera los recursos que se han adquirido. @ContextManager es decorador en este caso.

Internamente, la versión antigua basada en la clase de los gerentes de contexto y la nueva implementación basada en generadores son idénticos. Si bien este último parece ser más legible, requiere una comprensión de los generadores, decoradores y rendimiento.

Con la ayuda del contextlib, hemos almacenado con éxito el registro en el my_file4.txt con la palabra clave "con" de la siguiente manera:

Conclusión

A partir de ahora, hemos visto cómo la declaración "con" maneja las excepciones de manera inteligente. La palabra clave "con" también ayuda a cerrar efectivamente el gerente de contexto, que podría haberse dejado abierto durante la programación. La palabra clave con es un sustituto de las declaraciones de manejo de errores try/finalmente que a menudo se usan. Hemos mostrado algunos casos de uso de la palabra clave "con" para el manejo de archivos.