在 PyDev 项目中包含多个模块

Include multiple modules on PyDev project

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

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

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

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

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

您尝试做的是导入文件 class1.py,通过说导入 class1,您实际需要做的是从文件 class 中导入 class =18=](我可以建议重命名您的文件;它们会让事情变得有点混乱:))。所以,比方说,你的 classes 被命名为 Dog 和 Cat(只是为了使用完全不同的东西,以避免混淆),你需要使用:

from class1 import Dog
from class2 import Cat

不过请记住,以上方法仅在所有文件都位于同一目录中时才有效,因此我建议将它们全部保存在同一目录中。

还有一件事,如果这仍然令人困惑,当我写 "from class1 import Dog" 时,class1 代表 class1.py,它只是没有文件扩展在最后。它不代表 class.

的实际名称

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