3
Python:从项目层次结构中同一级别的另一个目录导入模块
我已经看到了各种各样的示例和其他类似的问题,但是似乎找不到与我的方案完全匹配的示例。我觉得这很愚蠢,因为有很多类似的问题,但是我似乎无法“正确”地解决这个问题。这是我的项目: user_management (package) | |------- __init__.py | |------- Modules/ | | | |----- __init__.py | |----- LDAPManager.py | |----- PasswordManager.py | |------- Scripts/ | | | |----- __init__.py | |----- CreateUser.py | |----- FindUser.py 如果我将“ CreateUser.py”移动到主user_management目录中,则可以轻松使用:"import Modules.LDAPManager"导入LDAPManager.py ---这可行。我不能做的(我想做的)是将CreateUser.py保留在Scripts子文件夹中,然后导入LDAPManager.py。我希望通过使用来完成此操作"import user_management.Modules.LDAPManager.py"。这行不通。简而言之,我可以使Python文件轻松地在层次结构中更深层次地查找,但是我无法获得Python脚本来引用一个目录,然后又引用另一个目录。 请注意,我可以使用以下方法解决问题: sys.path.append(os.path.join(os.path.dirname(__file__), '..')) import Modules.LDAPManager as LDAPManager 我听说这是不好的做法,并且不鼓励这样做。 脚本中的文件旨在直接执行(脚本中的init .py甚至有必要吗?)。我已经读过这种情况,我应该使用-m标志执行CreateUser.py。我对此进行了一些尝试,但似乎无法使CreateUser.py识别LDAPManager.py。