在Python中,可以使用内置的inspect
模块来获取当前打开的文件行。具体操作如下:
inspect
模块。import inspect
inspect.currentframe()
函数获取当前的栈帧,再使用inspect.getfile(frame)
函数获取当前栈帧对应的文件名。frame = inspect.currentframe()
filename = inspect.getfile(frame)
inspect.getlineno(frame)
函数获取当前栈帧对应的文件行号。lineno = inspect.getlineno(frame)
print(f"当前文件名:{filename}")
print(f"当前文件行号:{lineno}")
完整代码如下:
import inspect
frame = inspect.currentframe()
filename = inspect.getfile(frame)
lineno = inspect.getlineno(frame)
print(f"当前文件名:{filename}")
print(f"当前文件行号:{lineno}")
输出结果类似于:
当前文件名:test.py
当前文件行号:7
需要注意的是,inspect.currentframe()
函数返回的是一个栈帧对象,需要在使用完后手动删除,以避免内存泄漏。可以使用del
关键字来删除栈帧对象。
del frame
领取专属 10元无门槛券
手把手带您无忧上云