问题描述
在将其标记为重复之前请阅读我的问题:
我正在尝试从子目录的文件中导入一个类
I am trying to import a class from a file from a subdirectory
> main.py
> --->folder/
> ----->file.py
在 file.py
我有一个类实现(Klasa
)我尝试了什么:
and in file.py
i have a class imlpemented ( Klasa
)What have I tried:
放入main.py:
from folder import file
from file import Klasa
我收到错误:
从文件导入 Klasa
导入错误:没有名为文件"的模块
ImportError: No module named 'file'
当我尝试使用 just:
When I try to use just:
from folder import file
我收到此错误:
tmp = Klasa()
NameError: name 'Klasa' 未定义
NameError: name 'Klasa' is not defined
我在子文件夹中放了一个空的 __init__.py
但它仍然不起作用,我已经放入了 __init__.py
: from file导入 Klasa
还是不行.
I have put an empty __init__.py
in the subfolder and it still does not work, and I have put in the __init__.py
: from file import Klasa
and still doesnt work.
如果 main 和 file 在同一个文件夹中,这个工作:
If main and file are in the same folder this work:
从文件导入 Klasa
但我希望它们在单独的文件中.
but i want them to be in separate files.
谁能告诉我我做错了什么?
Can someone tell me what i am doing wrong?
推荐答案
你的问题基本上是你没有指定正确的文件路径.
Your problem is basically that you never specified the right path to the file.
尝试从您的主脚本改为:
Try instead, from your main script:
from folder.file import Klasa
或者,使用从文件夹导入文件
:
from folder import file
k = file.Klasa()
或者再次:
import folder.file as myModule
k = myModule.Klasa()
这篇关于从另一个文件导入类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!