python中_自动生成的_pycache__文件夹
作者:@ggonekim9
本文为作者原创,转载请注明出处:https://www.cnblogs.com/ggonekim/p/17236726.html
_pycache__文件夹可以看作该文件夹下文件已被python接管或者说编译过。
在第一次执行代码的时候,Python解释器已经把编译的字节码放在__pycache__文件夹中,这样以后再次运行的话,如果被调用的模块未发生改变,那就直接跳过编译这一步,直接去__pycache__文件夹中去运行相关的 *.pyc
文件,大大缩短了项目运行前的准备时间。
解释器的具体工作:
1、完成模块的加载和链接;
2、将源代码编译为PyCodeObject对象(即字节码),写入内存中,供CPU读取;
3、从内存中读取并执行,结束后将PyCodeObject写回硬盘当中,也就是复制到.pyc或.pyo文件中,以保存当前目录下所有脚本的字节码文件。
再看_pycache__文件夹下生成的文件名为*.cpython-30.pyc
的文件名的含义,其中cpython
表示c语言实现的Python解释器,而代表的是版本为3.0
版。
其实,在Python中导入模块时,实际上会把被导入的模块执行一遍。
一般来说,我们在主函数中使用if __name__ == '__main__':
是为了保证导入的模块不被执行。因为_name_
代表的是当前模块的名字,也就是'__main__'
,而新导入的模块的名字为其自身的名字,例如为test.py
,那么经过判断后,就不会被执行。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】