Obtenga el nombre de archivo y un número de línea en Python
Cuando trabajamos en aplicaciones del mundo real o proyectos paralelos, a menudo tenemos que recuperar números de línea y nombres de archivo para fines de depuración. En general, esto se hace para comprender qué código se ejecuta y cuándo o para analizar el flujo de control de cualquier aplicación. En este artículo, aprenderemos cómo obtener un número de línea y el nombre de archivo del script de Python usando Python.
Obtenga el nombre de archivo y un número de línea en Python
Para obtener el nombre del archivo y un número de línea del script Python en ejecución, podemos usar el módulo inspect
de Python. El módulo inspect
contiene varias utilidades para obtener información sobre objetos, clases, métodos, funciones, objetos de marco y objetos de código. Esta biblioteca tiene un método getframeinfo()
que recupera información sobre un marco o un objeto de rastreo. Este método acepta un argumento de frame
sobre el que recupera detalles. El método currentFrame()
devuelve el objeto frame para el frame de la pila del llamante. Podemos utilizar estas utilidades para nuestro caso de uso. Consulta el siguiente código de Python para entender el uso.
from inspect import currentframe, getframeinfo
frame = getframeinfo(currentframe())
filename = frame.filename
line = frame.lineno
print("Filename:", filename)
print("Line Number:", line)
Producción :
Filename: full/path/to/file/main.py
Line Number: 3
Como podemos ver, el atributo filename
devolverá la ruta completa al archivo de Python. En mi caso, el nombre del archivo de Python era main.py
; por lo tanto, muestra main.py
en la salida. Y, el atributo lineno
devuelve el número de línea en el que se ejecutó esta instrucción frame = getframeinfo(currentframe())
. La instrucción mencionada se ejecutó en la línea 3
; por lo tanto, la salida tiene un 3
después de la etiqueta Line Number
.