gpt4 book ai didi

python - 获取函数的源文件行号

转载 作者:行者123 更新时间:2023-12-01 21:53:23 25 4
gpt4 key购买 nike

有没有办法为任何随机函数实现这一点?

class Class:
def function(self):
pass

import inspect
print(inspect.getlineno(Class.function))

这只是给出:

File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\inspect.py", line 1479, in getlineno
return frame.f_lineno
AttributeError: 'function' object has no attribute 'f_lineno'

最佳答案

inspect.getlineno 需要一个框架对象。

你应该使用 inspect.getsourcelines相反:

import inspect

class Class:
def function(self):
pass

print(inspect.getsourcelines(Class.function))

输出

(['        def function(self):\n', '            pass\n'], 4)

它返回一个包含实际源代码和定义行号的二元组。

print(inspect.getsourcelines(Class.function)[1])
# 4

关于python - 获取函数的源文件行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58859322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com