Python 一个函数,它知道它所来自的包的名称';有人叫他
我有两个包裹:Python 一个函数,它知道它所来自的包的名称';有人叫他,python,python-2.7,Python,Python 2.7,我有两个包裹: myu工具,一系列工具,包括函数f() my_项目,它将my_工具作为依赖项,并使用其f()函数 我的问题是,当我从My_projectpackage的代码调用f()时,我需要f()才能找到它是从My_project包调用的(例如返回包的名称) 例如: # my_project/code.py from my_tools import f print f() # prints 'my_project' 我一直在玩弄sys和inspect,但到目前为止找不到任何解决方案。用
,一系列工具,包括函数myu工具
f()
,它将my_项目
作为依赖项,并使用其my_工具
函数f()
My_project
package的代码调用f()
时,我需要f()
才能找到它是从My_project
包调用的(例如返回包的名称)
例如:
# my_project/code.py
from my_tools import f
print f() # prints 'my_project'
我一直在玩弄sys
和inspect
,但到目前为止找不到任何解决方案。用于获取帧信息,然后检查模块的\uuuuuuuuuuuuuuuuuuuuu
属性:
import inspect
def f():
frame = inspect.currentframe()
return frame.f_back.f_globals.get('__package__')
def()我有我的项目
。检查或查看我认为这段asciinema代码片段有不同之处:my_tools.py
不是作为my_项目的依赖项安装的my_tools
python包的一部分。我想这是我没有得到同样结果的部分原因。。。