MEMOO
MEMOO
Published on 2025-04-20 / 2 Visits
0
0

Python 模块搜索路径

摘要:在本教程中,你将学习在将模块导入程序时,Python 模块搜索路径是如何工作的。

Python 模块搜索路径简介

当你在程序中导入一个 模块 时:

import module

Python 会从以下来源搜索 module.py 文件:

  • 程序执行所在的当前文件夹。

  • 如果之前设置了 PYTHONPATH 环境变量,则会从该变量中指定的文件夹列表中搜索。

  • 在安装 Python 时配置的、与安装相关的文件夹列表。

Python 将搜索路径结果存储在来自 sys 模块的 sys.path 变量中。

以下程序显示了当前的模块搜索路径:

import sys

for path in sys.path:
    print(path)

以下是 Windows 系统上的示例输出:

C:\python\python313.zip
C:\python\DLLs
C:\python\Lib
C:\python
C:\python\Lib\site-packages

为确保 Python 始终能够找到 module.py,你需要:

1. 将 module.py 放在程序将要执行的文件夹中。

2. 将包含 module.py 的文件夹添加到 PYTHONPATH 环境变量中。或者,你也可以将 module.py 放在 PYTHONPATH 变量中已包含的某个文件夹中。

3. 将 module.py 放在与安装相关的某个文件夹中。

运行时修改 Python 模块搜索路径

Python 允许你通过修改 sys.path 变量在运行时修改模块搜索路径。这样,你就可以将模块文件存储在你选择的任何文件夹中。

由于 sys.path 是一个列表,你可以向其中追加一个搜索路径。

以下示例将 d:\modules 添加到搜索路径,并使用存储在该文件夹中的 recruitment 模块:

>>> import sys
>>> sys.path.append('d:\\modules\\')
>>> import recruitment
>>> recruitment.hire()
Hire a new employee...

总结

  • 当你导入一个模块时,Python 会从 sys.path 变量中指定的文件夹中搜索该模块文件。

  • Python 允许你通过修改 sys.path 变量(即添加、删除或更改其中的元素)来修改模块搜索路径。


Comment