我在使用 Python 导入时遇到问题。我创建了一个模块,以便使用一条语句方便地在模块内部导入几个类。我将所有导入都放在该模块的 init 中,但它似乎不起作用。
maindir\
- driver.py
- Utility\
- __init__.py
- UtilityClasses.py
我的文件夹结构如上所示。 在 UtilityClasses 中,我创建了一个名为 MyClass 的类。
在 Utility 文件夹中的 init 文件中,我有这样的代码:
import UtilityClasses
from UtilityClasses import MyClass
在 driver.py 里面我有这样的代码:
import Utility
myVar = MyClass(param1)
但是,当我运行它时,我收到一条错误消息,告诉我未定义名称 MyClass。
请您参考如下方法:
在__init__.py中,你可以做
from UtilityClasses import *
from SomeOtherFile import *
这将从 UtilityClasses.py 和 SomeOtherFile.py 导入所有内容。
但是你仍然需要使用模块名来访问它
更新:您可以像这样访问所有内容
在driver.py中:
from Utility import *
a = MyClass()
b = ClassInSomeOtherFile()
