为了加快导入模块的速度,Python会缓存之前使用过的模块。
1 保存缓存文件的路径
Python会将之前编译过的模块保存在与该模块同一目录中的“__pycache__”文件夹中。
2 缓存文件名
缓存文件会以“模块名.版本号.pyc”格式命名。图1为使用yang_module.py模块后得到的缓存文件。
图1 缓存文件
从图1中可以看出,该缓存文件的文件名是“yang_module.cpython-311.pyc”,其中yang_module是对应的模块名;cpython-311表示使用的Python版本号是3.11;pyc是该缓存文件的后缀名,是“Python Cache”的简写。
3 Python使用缓存
3.1 使用缓存的时机
当有代码调用某一模块时,Python首先检查该模块对应的缓冲文件是否过期,如果没有过期,则使用该缓存文件,如果已经过期,则重新导入该模块,并且重新缓存该模块。
3.2 不使用缓存的时机
3.2.1 在命令行中导入模块时
当在命令行中使用import指令导入模块时,Python直接导入模块文件,而不使用该模块的缓存文件。
3.2.2 当源文件与模块源文件不在同一路径下时
当源文件与模块源文件不在同一路径下时,Python直接导入模块文件,而不使用该模块的缓存文件。