Python 模块、包与输入输出全解析
1. 模块搜索机制
在 Python 中,当我们使用 import 语句导入一个模块(例如 foo )时,解释器会按照特定的顺序在 sys.path 中的每个目录里搜索相关文件。搜索顺序如下:
1. 一个名为 foo 的目录,用于定义一个包。
2. 编译扩展文件,如 foo.so 、 foomodule.so 、 foomodule.sl 或 foomodule.dll 。
3. foo.pyo 文件(仅在使用 -O 或 -OO 选项时)。
4. foo.pyc 文件。
5. foo.py 文件(在 Windows 系统中,Python 还会检查 .pyw 文件)。
如果在 sys.path 的所有目录中都找不到这些文件,解释器会检查该名称是否对应一个内置模块名。若仍无匹配,将抛出 ImportError 异常。
文件编译成 .pyc 和 .pyo 文件的操作仅与 import 语句相关。在命令行或标准输入中指定的程序不会生成这些文
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



