Import from sibling directory
我有一个叫做"class a"的python类和另一个应该导入"classb"的class a类的python类。目录结构如下:
1 2 3 4 | MainDir ../Dir ..../DirA/ClassA ..../DirB/ClassB |
我如何使用
作为"从父目录导入python"问题的文本答案:
要导入当前模块的父目录中的"mymodule",请执行以下操作:
1 2 3 4 | import os parentdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) os.sys.path.insert(0,parentdir) import mymodule |
编辑不幸的是,并不总是设置
1 2 3 | import inspect currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) parentdir = os.path.dirname(currentdir) |
您可以使用相对导入(例如,从链接,当前模块-EDOCX1[0]):
1 2 3 | from . import D # Imports A.B.D from .. import E # Imports A.E from ..F import G # Imports A.F.G |
你真的应该使用软件包。然后将maindir放在sys.path文件系统的某个点上(例如…/site packages),然后在B类中说:
1 | from MainDir.Dir.DirA import ClassA # which is actually a module |
您只需在每个目录中放置名为