Python 包相对导入的深入解析
在 Python 编程中,模块导入是一个基础且重要的操作。合理地使用导入机制,能够让代码结构更加清晰,提高代码的复用性和可维护性。本文将详细探讨 Python 中包内和包外的导入规则,以及包相对导入的相关问题和解决方案。
1. 包外导入
包外导入是指在包的外部进行模块导入操作。通常情况下,Python 会按照模块搜索路径来查找所需的模块。
- 标准库模块导入 :当我们在命令行中启动 Python 解释器,并尝试导入标准库的
string
模块时,Python 会正确地找到标准库中的string
模块。
C:\code> c:\Python33\python
>>> import string
>>> string
<module 'string' from 'C:\\Python33\\lib\\string.py'>
- 当前工作目录优先 :如果在当前工作目录(CWD)中存在与标准库同名的模块,Python 会优先选择当前工作目录中的模块。
# code\string.py
print('string' * 8)