gpt4 book ai didi

python - 一个知道调用它的包的名称的函数

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

我有两个包:

  • my_tools,一个包含函数f()
  • 的系列工具
  • my_projectmy_tools 作为依赖项并使用其 f() 函数

我的问题是,当我从 my_project 包的代码中调用 f() 时,我需要 f() 才能找到它从 my_project 包中调用(例如返回包的名称)。

例如:

# my_project/code.py
from my_tools import f
print f() # prints 'my_project'

我一直在尝试使用 sysinspect 但到目前为止找不到任何解决方案。

最佳答案

使用inspect.currentframe获取框架信息,然后检查模块的 __package__ 属性:

import inspect

def f():
frame = inspect.currentframe()
return frame.f_back.f_globals.get('__package__')

关于python - 一个知道调用它的包的名称的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43267198/

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