从本地项目目录中的任何位置导入
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)
我目前正在开发一个面向对象的更大项目,其中包含多个我从主 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)