这是我的文件结构:
annotations
Helper.py
annotations.py
test
HelloWorld.py
这是 HelloWorld.py
,一个简单的 HelloWorld
类:
from annotations.annotations import annie
class HelloWorld:
@annie.mydecorate
def something():
echo 'Hello World'
在 annotations.py
中,我只是声明一些简单的装饰器:
from annotations.Helper import Helper
class annie:
@staticmethod
def mydecorate(func):
Helper.prepare()
print func.__name__
这里我收到一条错误消息:No such module: Helper
。我猜这是在加载模块 HelloWorld
时发生的,它正在加载注释模块,但在加载模块期间调用该函数,此时 Helper
模块未加载。我不确定我的说法是否正确,但我只是在这里寻找解决方案。
还有其他问题吗?我可以像在声明装饰器的文件中那样导入模块吗?任何帮助将不胜感激。
问候, 罗汉
最佳答案
在annotations.py
中,尝试:
import Helper
或(相对导入,Python 2.5 及更高版本)
from . import Helper
关于python - 在声明装饰器的文件中导入模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10887322/