python中_自动生成的_pycache__文件夹
  pkcbkr9C6Vya 2023年11月02日 62 0

_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,那么经过判断后,就不会被执行。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Fnpj8K6xSCR   2024年05月17日   107   0   0 Python
  xKQN3Agd2ZMK   2024年05月17日   75   0   0 Python
  fwjWaDlWXE4h   2024年05月17日   38   0   0 Python
  YpHJ7ITmccOD   2024年05月17日   40   0   0 Python
pkcbkr9C6Vya