python入门之__pycache__目录_Aibingoo的博客-程序员宝宝

技术标签: python入门  

先大概了解一下python基本运行机制:Python程序运行时不需要编译成二进制代码,而直接从源码运行程序,简单来说是,Python解释器将源码转换为字节码,然后再由解释器来执行这些字节码。

解释器的具体工作: 
1、完成模块的加载和链接; 
2、将源代码编译为PyCodeObject对象(即字节码),写入内存中,供CPU读取; 
3、从内存中读取并执行,结束后将PyCodeObject写回硬盘当中,也就是复制到.pyc或.pyo文件中,以保存当前目录下所有脚本的字节码文件。

之后若再次执行该脚本,它先检查【本地是否有上述字节码文件】和【该字节码文件的修改时间是否在其源文件之后】,是就直接执行,否则重复上述步骤。

那有的小伙伴就有疑问了,__pycache__文件夹的意义何在呢? 
因为第一次执行代码的时候,Python解释器已经把编译的字节码放在__pycache__文件夹中,这样以后再次运行的话,如果被调用的模块未发生改变,那就直接跳过编译这一步,直接去__pycache__文件夹中去运行相关的 *.pyc 文件,大大缩短了项目运行前的准备时间。

参考链接:https://blog.csdn.net/haijiege/article/details/85007543

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_33736245/article/details/90115336

智能推荐

js 截取URL中字符串(可获取中文内容)_风如白话的博客-程序员宝宝

截取URL中字符串(可获取中文内容)调用: getUrlstr('id');getUrlstr(str){ var reg = new RegExp("(^|&)" + str + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return decodeURI(r[2]); return null;}...

输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来(c++ 实现)_emPoint的博客-程序员宝宝

题目:输入描述:每个测试输入包含2个整数,n和m输出描述:按每个组合的字典序排列输出,每行输出一种组合 思路:获取所有组合,再进行求和,判断是否等于m实现步骤:1.获取所有组合求 1-n 的n个数的组合等价于 求n位二进制数哪几位等于1即对于 i(i为某个n位二进制数),要知道 i 的哪些位等于1,用一个知道某位上为 1 的数与 i 相与,若结果为 1,...

Android学习(54) -- 多线程下载 原理和代码_idiandi的博客-程序员宝宝

多线程下载 原理:服务器CPU分配给每条线程的时间片相同,服务器带宽平均分配给每条线程,所以客户端开启的线程越多,就能抢占到更多的服务器资源 单线程下载:从输入流第0个字节开始读取,读取到最后一个字节,把读取到的数据写到本地文件中, 写的时候也要从文件的第0个位置开始写,写到最后一个位置 多线程的计算:每个线程预下载的大小: size = 总

项目进阶 之 集群环境搭建(一)概述_二三四的博客-程序员宝宝

今天我们说一个不是特别新,但最近今年伴随大数据热而比较火的一个技术-集群技术。

如何修改mysql连接哪个数据库_如何修改MySQL数据库名称_九子随笔的博客-程序员宝宝

#### 比如数据库名称`old_db`想改名为`new_db`- MySQL修改数据库名称比较麻烦,不支持直接修改,需要通过其它方式间接达到修改数据库名称的目的。- 在 MySQL 5.1.23 之前的旧版本中,我们可以使用 `RENAME DATABASE` 来重命名数据库,但此后版本,因为安全考虑,删掉了这一条命令。### 方法一:先导出数据,再导入数据当数据库体积比较小时,最快的方法是使用...

Thymeleaf 引擎模板学习笔记_哆啦。猫的博客-程序员宝宝

开发工具与关键技术: MyEclipse Java撰写时间:2021、5、8 Thymeleaf 引擎模板特点:• 动静结合:Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行;当有数据返回到页面时,Thymel

随便推点

Html5新特性 canvas画板画直线和等比缩放居中裁剪图片_Andyzty的博客-程序员宝宝_canvas等比缩放

介绍一下canvas的几种使用方法,画直线和裁剪图片;包含以下两个方面: 1、canvas裁剪图片:h5的这个新特性,我们可以使用canvas进行图片的处理,比如裁剪,等比放大或缩小。比如我们有个360x607宽高的目标图,如果上传图片的宽高都大于目标图,我们对目标图等比压缩,然后在剧中裁剪;如果又一边小于,我们就对上传图片等比放大,让其都满足目标大小,再居中裁剪。 2、canvas标签画多条直线

微信小程序日历包含(阴历)- - -附效果图_换日线°的博客-程序员宝宝

效果图如下所示下载地址:https://download.csdn.net/download/qq_43764578/12414346有需要的小伙伴可以下载有什么问题欢迎评论留言,我会及时回复你的

bzoj 1257: [CQOI2007]余数之和_SSL_GJH的博客-程序员宝宝

Description给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值其中k mod i表示k除以i的余数。例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7Input输入仅一行,包含两个整数n, k。1<=n ,k&...

Android之常见错误_chituan8181的博客-程序员宝宝

1、Unable to resolve target 'android-2' 安装低版本的api,再default.properties这个文件中把target=android-2改成target=android-7终于就没有问题了。 2、Invalid start t...

客户端机器使用Toad连接远程机器的oracle数据库注意事项_jiangzh1982的博客-程序员宝宝

首先说明下本机环境:我本机没有装Oracle的任何软件,下载了一个Toad想要使用它连接到服务器上的一个Oracle的数据库。 1.这种情况在我的机器上必须要安装Oracle的客户端,可以上官方网站上下载instantclient,请选择你要的版本 2.下载之后将该压缩包的文件解压到D:\ORA10 3.在D:\ORA10下建立network/admin两个空的文...

推荐文章

热门文章

相关标签