我在一个python软件包中,里面有A.py,B.py和一个初始化文件,该文件允许我将软件包导入到上面的目录中。
因此,我的init文件的内容如下:
__path__ = __import__('pkgutil').extend_path(__path__, __name__)
我现在想将B.py类导入A.py。我尝试使用from B import myClass
,但不起作用。我还尝试通过将以下行添加到初始化文件中来在路径中添加文件:
__path__.append(__file__)
如何将B.py添加到路径?
-编辑-
为澄清起见,这是我的软件包和模块的结构:
|app.py
|package1
|__init__.py
|C.py
|package2
|__init__.py
|A.py
|B.py
在A.py中,我需要从B.py和C.py导入类
答案 0 :(得分:0)
如果这是与python 3相关的代码...那么真的不再需要__init__.py
。
只要您要从中导入类/函数的文件位于同一目录中,您就应该能够这样调用您要进行导入的文件:
import B.myClass
或者
from . import myClass
### this imports all the classes and moduels from within the same directory
### as you're currently in even if it has more than one file (but only imports myClass)