摘要:在本教程中,你将学习在将模块导入程序时,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
变量(即添加、删除或更改其中的元素)来修改模块搜索路径。