从另一个文件导入类

在标记为重复之前,请阅读我的问题:

我尝试从子目录中的文件导入一个类

> main.py
> --->folder/
> ----->file.py

file.py中我实现了一个类(Klasa) 我试过什么:

放入 main.py:

from folder import file
from file import Klasa

我得到了一个错误:

从文件导入克拉萨

Import Error: 没有名为“ file”的模块

当我试图只使用:

from folder import file

我得到了这个错误:

Tmp = Klasa ()

NameError: 名称‘ Klasa’未定义

我已经把一个空的 __init__.py在子文件夹,它仍然不工作,我已经把在 __init__.py: from file import Klasa,仍然不工作。

如果 main 和 file 在同一个文件夹中,则此工作:

from file import Klasa

但我想把它们分开存档。

有人能告诉我我做错了什么吗?

542772 次浏览

您的问题基本上是您从未指定文件的正确路径。

相反,试试你的主要剧本:

from folder.file import Klasa

或者,对于 from folder import file:

from folder import file
k = file.Klasa()

或者再说一遍:

import folder.file as myModule
k = myModule.Klasa()