Detectar salida de script en Python

Python es un lenguaje de secuencias de comandos. Esto significa que un código de Python se ejecuta línea por línea con la ayuda de un intérprete de Python. Cuando un intérprete de Python encuentra un carácter de fin de archivo, no puede recuperar ningún dato del script. Este carácter EOF (fin de archivo) es el mismo que el EOF que informa el final del archivo mientras lee datos de un archivo en Python.

Para detectar una salida de script, podemos usar la biblioteca atexit integrada de Python. El módulo atexit se usa para registrar o anular el registro de funciones que manejan la limpieza. Las funciones registradas por atexit se llaman automáticamente al terminar el intérprete.

Sintaxis: atexit.register(fun, *args, **kwargs)

Parámetros: Primero se menciona el nombre de la función y luego se pasan los argumentos para esa función. Los parámetros se separan usando ‘, ‘.

Retorno: esta función devuelve la diversión llamada y, por lo tanto, se puede rastrear la llamada.

El siguiente ejemplo demuestra cómo se puede usar atexit para detectar la salida del script :

Python3

import atexit
  
n = 2
print("Value of n:",n)
  
atexit.register(print,"Exiting Python Script!")

Producción:

Value of n: 2
Exiting Python Script!

En este sencillo programa, pasamos una función de impresión y una string como argumentos a la función atexit.register. Esto registró la declaración de impresión como una función que se invocará al finalizar el script.

También podemos usar el método register() como decorador .

Python3

import atexit 
  
n = 2
print("Value of n:",n)
  
# Using register() as a decorator 
@atexit.register 
def goodbye(): 
    print("Exiting Python Script!")

Producción:

Value of n: 2
Exiting Python Script!

Python proporciona varias funciones que se pueden usar para salir de un script de Python, puede consultarlas aquí. 

Publicación traducida automáticamente

Artículo escrito por sareendivyansh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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