从本地项目目录中的任何位置导入

Import from anywhere in local project directory

我目前正在开发一个面向对象的更大项目,其中包含多个我从主 class 调用的自写子模块。在子模块中,我目前正在导入更多模块。这是它目前的样子:

[]表示文件夹

[Project]

> project.py

  > [Module 1]
  > __init__.py
  > module1.py
   > [proxyHandler]
   > __init__.py
   > proxyHandler.py

  > [Module 2]
  > __init__.py
  > module2.py
   > [proxyHandler]
   > __init__.py
   > proxyHandler.py

此列表包含大约 10 个模块,尽管 proxyHandler 并非始终 100% 相同,但我认为我可以制作一个处理所有情况的 proxyHandler。现在我在每个模块中都有 proxyHandler 文件夹,我想避免并执行以下操作。

[Project]

> project.py

  > [libs]
   > [proxyHandler]
   > __init__.py
   > proxyHandler.py

  > [Module 1]
  > __init__.py
  > module1.py

  > [Module 2]
  > __init__.py
  > module2.py

我将如何继续从库中导入它,这样我就不必在每个模块中复制和粘贴 proxyHandler。如果解决方案允许在最后使用 py2exe 将代码编译为 exe 到单个文件中,那也很棒。

非常感谢

如果您 运行 project.py 文件夹 [Project] 被添加到 sys.path。所以你可以像这样导入模块

from libs import proxyHandler

来自任何模块。

或者您可以使用相对导入:

from ..libs import proxyHandler

您还可以像这样将任何文件夹添加到 sys.path:

import sys
sys.path.append(folder)