gpt4 book ai didi

python - 我如何找出在哪个文件或模块中调用了我的函数?

转载 作者:行者123 更新时间:2023-11-28 16:53:40 25 4
gpt4 key购买 nike

Python 2.5 到 2.7:

#a.py:
def foo():
pass

#b.py
from a import foo
foo()

foo(),我想知道它已经在“b”模块中被调用了。我现在能想到的唯一方法是引发异常,捕获它并检查回溯(向上一级)。有没有一种自然的方法可以做到这一点?

最佳答案

您可以使用检查模块执行此操作。

例如

#!/usr/bin/env python
# a.py
import inspect

def foo():
for item in inspect.stack():
print item

-

#!/usr/bin/env python
# b.py

from a import foo

foo()

-

$ python b.py
(<frame object at 0x2026fb0>, '/home/tdb/a.py', 6, 'foo', [' for item in inspect.stack():\n'], 0)
(<frame object at 0x1fe4a30>, 'b.py', 5, '<module>', ['foo()\n'], 0)

关于python - 我如何找出在哪个文件或模块中调用了我的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3785479/

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