从另一个文件导入类

时间:2016-12-22 05:02:47

标签: python python-3.x

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

我正在尝试从子目录

中的文件导入一个类
> main.py
> --->folder/
> ----->file.py

并在file.py我有一个类imlpemented(Klasa) 我尝试了什么:

放入main.py:

from folder import file
from file import Klasa

我收到错误:

  

来自文件导入Klasa

     

ImportError:没有名为'file'的模块

当我尝试使用时:

from folder import file

我收到此错误:

  

tmp = Klasa()

     

NameError:名称'Klasa'未定义

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

如果main和file位于同一个文件夹中,则可以正常工作:

from file import Klasa

但我希望它们在单独的文件中。

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

1 个答案:

答案 0 :(得分:114)

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

请尝试从主脚本中填写:

from folder.file import Klasa

或者from folder import file

from folder import file
k = file.Klasa()

或者再次:

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