在PyDev项目中包含多个模块

时间:2016-12-13 22:44:39

标签: python module pydev

所以,我想在我当前的Python项目中输入以前创建的类。

为此,我创建了一个名为lib的文件夹,并在其中创建了一个__init__.py文件。 我的文件结构如下所示

project_folder
    lib
        class1_folder
            class1.py
        class2_folder
            class2.py
     _init_.py
     project_script.py

在主项目文件夹中的__init__.py文件中,我有2行代码。

from class1_folder import class1
from class2_folder import class2

我希望能够使用我在project_script.py中实现的类。如果它们嵌套得那么深,我怎么能打电话给他们呢? 在project_script中,我执行以下from lib.class1_folder.class1 import *但是我得到了ImportError: No module named class1_folder

2 个答案:

答案 0 :(得分:0)

你要做的是导入文件class1.py,通过说导入class1,你真正需要做的是从文件class1.py中导入类(我可以建议重命名你的文件;他们做的东西有点混乱:))。所以,比如说,你的类名为Dog和Cat(只是为了使用完全不同的东西,以避免混淆),你需要使用:

from class1 import Dog
from class2 import Cat

请记住,上面只有在你的所有文件都在同一目录下时才有效,所以我建议将它们全部保存在同一个目录中。

还有一件事,如果这仍然令人困惑,当我写“来自class1 import Dog”时,class1代表class1.py,它最后没有文件扩展名。它不代表班级的实际名称。

答案 1 :(得分:0)

您需要将__init__.py文件添加到应被视为包的每个文件夹中(例如,它们应添加到class1_folderclass2_folder)。