无法导入 Python Class
Can't Import Python Class
我在 Python 导入时遇到问题。我创建了一个模块,以便用一条语句方便地在模块内部导入一些 classes。我把我所有的导入都放在那个模块的初始化中,但它似乎不起作用。
maindir\
- driver.py
- Utility\
- __init__.py
- UtilityClasses.py
我的文件夹结构如上所示。
在 UtilityClasses 中,我创建了一个 class,名为 MyClass。
在 Utility 文件夹中的初始化文件中,我有这样的代码:
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()
您的代码
import Utility
myVar = MyClass(param1)
当然行不通 -- MyClass
没有被提及,也不会神奇地凭空出现。显式优于隐式:
from Utility import MyClass
myVar = MyClass(param1)
应该很有魅力!
我在 Python 导入时遇到问题。我创建了一个模块,以便用一条语句方便地在模块内部导入一些 classes。我把我所有的导入都放在那个模块的初始化中,但它似乎不起作用。
maindir\
- driver.py
- Utility\
- __init__.py
- UtilityClasses.py
我的文件夹结构如上所示。 在 UtilityClasses 中,我创建了一个 class,名为 MyClass。
在 Utility 文件夹中的初始化文件中,我有这样的代码:
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()
您的代码
import Utility
myVar = MyClass(param1)
当然行不通 -- MyClass
没有被提及,也不会神奇地凭空出现。显式优于隐式:
from Utility import MyClass
myVar = MyClass(param1)
应该很有魅力!