关于python:从另一个文件导入类

Importing class from another file

本问题已经有最佳答案,请猛点这里访问。

在将其标记为副本之前,请阅读我的问题:

我正在尝试从子目录中的文件导入类

1
2
3
> main.py
> --->folder/
> ----->file.py

file.py中,我有一个类imlpemented(Klasa)我试过什么:

放入main.py:

1
2
from folder import file
from file import Klasa

我得到错误:

from file import Klasa

ImportError: No module named 'file'

当我尝试只使用:

1
from folder import file

我得到这个错误:

tmp = Klasa()

NameError: name 'Klasa' is not defined

我在子文件夹中放了一个空的__init__.py,它仍然不起作用,我放了__init__.pyfrom file import Klasa,但仍然不起作用。

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

from file import Klasa

但我想把它们放在单独的文件里。

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


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

从主脚本开始尝试:

1
from folder.file import Klasa

或者,使用from folder import file

1
2
from folder import file
k = file.Klasa()

或再次:

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