Python中sys中的path和moduls作用
# 导入内置模块sys
import sys
1、sys.path
sys.path变量包含了一个用于搜索模块的目录列表。当试图导入一个模块时,Python解释器会按照sys.path中列出的路径顺序取搜索对应的模块文件。
常见的sys.path包含以下几个位置:
- 首先是当前目录,即包含你当前运行脚本的目录。
- 其次是
PYTHONPATH
环境变量中列出的路径。(如果PYTHONPATH
变量未被显式设置,那么 Python 解释器会使用默认值,通常包括 Python 的安装目录以及标准库的位置。但是,你可以在PYTHONPATH
中添加自定义的路径,告诉 Python 解释器额外的模块搜索路径。) - 然后是Python标准库的路径,即Python安装目录中的库。
- 最后是其他安装的第三方库的路径。
2、sys.modules
sys.modules是一个字典,用来查看已经被导入并被缓存的模块。字典的键是模块名,值是相应的模块对象。模块对象内包含模块中的全局变量、函数和类
。
当在Python中多次导入同一个模块时,Pthon解释器会首先检查该模块是否已经在缓存中。如果模块已经被缓存,Python解释器会直接使用缓存中的模块对象,而不会重新导入模块(即不会重复执行模块中的代码,这样可以提高程序总体的执行效率)。全局变量的信息会被保留或者在多次导入中得到更新。