我无法在同一目录中导入模块。基本上,这是我的组织
alex (folder)
|
|- alex (folder)
| |- __init__.py
| |- commons.py
| |- KnowledgeBase.py
|
|- test.py
在我的init .py文件中,我有以下几行代码可简化test.py中的Commons和KnowledgeBase导入。它似乎起作用。
from .KnowledgeBase import KnowledgeBase
from .commons import *
在我的KnowledgeBase.py文件中,我有一个名为KnowledgeBase的类。
在commons.py中,我有不同的对象:
名为CDE的命名元组
一个称为TimePeriod的对象
然后,在test.py中,我可以用这种方式调用对象。
import alex as al
do stuff with al.KnowledgeBase
do stuff with al.CDE
do stuff with al.TimePeriod
现在什么不起作用。
我在KnowledgeBase.py中调用commons.py模块。
import alex as al
stuff with al.CDE ...
我收到以下错误消息。
AttributeError: module 'alex' has no attribute 'CDE'
如果我以传统方式这样做:
import commons as AC
stuff with AC.CDE ...
我收到以下错误消息。
ModuleNotFoundError: No module named 'commons'
而且,如果我删除了init .py文件中的所有内容,它都可以工作,但是之后,我将无法在test.py中使用“简单模块调用”。
如果我在test.py中保留一个空的init .py文件,而不是简单地编写
import alex
我必须声明所有进口:
from alex import KnowledgeBase
from alex import commons
拜托,我该怎么做才能将不同的python模块导入alex“简单”中,同时又可以将模块从alex文件夹导入到alex文件夹中的其他模块中?
预先感谢您的帮助。祝您下午愉快,Bests,
找到合适的格式后,我会回来。在KnowledgeBase.py中,从公用区导入函数或对象的正确方法是键入:
from . import commons as AC
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句