我的代码在下面的结构中文件夹中:
init. py
import lib1
import lib2
import lib3
- 文件夹lib1
- 文件夹lib2
- 文件夹lib3
文件夹测试
- Test.py
import sys
import os
sys.path.append(os.path.abspath('../Libs'))
import lib1
我得到错误库1没有找到,任何想法可能是错的吗?sys.path.append
应该包含文件夹Libs到路径中,因此库lib1, lib2 &理想情况下,Lib3应该包括在内。不知道为什么它没有被认出来。有什么建议吗?
您可以尝试以下操作,知道ClassNameLib1
和ClassNameLib2
是lib1_file
和lib2_file
文件中的类的名称,其中包含放置在lib1
和lib2
文件夹中的类:
import sys
sys.path.append("..")
from libs.lib1.lib1_file import ClassNameLib1
from libs.lib2.lib2_file import ClassNameLib2
然而,我们也可以在libs
文件夹的__init__.py
中添加一些信息,使用__all__
变量:
__all__ = [
'lib1',
'lib2',
'lib3'
]
在lib1
文件夹中,我们还可以添加一个__init__.py
文件,包含所有文件夹和文件:
from .lib1_file import ClassNameLib1
__all__ = [
'ClassNameLib1'
]
这样做,它允许您只调用import libs
来获取项目中所需的一切。