我已经看到了各种各样的例子和其他类似的问题,但我似乎找不到一个例子,完全符合我的情况。我觉得自己像个傻瓜一样问这个问题,因为有这么多类似的问题,但我似乎不能让这个工作“正确”这是我的项目:
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
我听说这是不好的做法和气馁。
The files in Scripts are intended to be executed directly (is the Init.py in Scripts even necessary?). I've read that in this case, I should be executing CreateUser.py with the -m flag. I've tried some variations on this and just can't seem to get CreateUser.py to recognize LDAPManager.py.