从另一个文件导入类

kem*_*mis 70 python python-3.x

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

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

> main.py
> --->folder/
> ----->file.py
Run Code Online (Sandbox Code Playgroud)

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

放入main.py:

from folder import file
from file import Klasa
Run Code Online (Sandbox Code Playgroud)

我收到错误:

从文件导入Klasa

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

当我尝试使用时:

from folder import file
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

tmp = Klasa()

NameError:未定义名称"Klasa"

__init__.py在子文件夹中放了一个空,它仍然不起作用,我已经放入__init__.py :但仍然无法正常from file import Klasa工作.

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

from file import Klasa

但我希望他们在单独的文件中.

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

Rig*_*leg 149

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

请尝试从您的主脚本:

from folder.file import Klasa
Run Code Online (Sandbox Code Playgroud)

或者,用from folder import file:

from folder import file
k = file.Klasa()
Run Code Online (Sandbox Code Playgroud)

或者再次:

import folder.file as myModule
k = myModule.Klasa()
Run Code Online (Sandbox Code Playgroud)

  • 一旦我在包含要导入类的目标目录中包含一个空的__init__.py文件,它便对我有用。 (2认同)