所以,我想在我当前的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
答案 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_folder
和class2_folder
)。