python的pyc文件

个人理解的pyc文件

之前在经手公司python项目的代码时,被pyc文件坑过一遍,当时修改了项目的python源代码,然后 一运行,效果跟没改过的效果一样,查了好久,才发现是pyc文件的问题,虽然我修改了python源代码文件,然而生成的pyc文件一直没有变化,导致更改代码实际没有生效,那么问题来了,什么是pyc文件?
参考下百度搜到的说法,差不多就是这样子了:

pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte
code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。

也就是说pyc相当于java里面的.class文件,是一种字节码,可以直接被虚拟机运行,虽然python是解释型语言,但是也可以想java使用虚拟机直接运行字节码文件,那么这种字节码文件有什么用处呢?一:运行字节码文件的速度会快于运行python源代码的速度,因此调用其他文件库时python会先生成对应的pyc文件来提高执行速度,因此我在上面的问题也是python的这个机制引起的,当python执行对应的文件a时,首先import b来导入对应的库b,如果当前文件夹下有库的pyc文件,则会直接调用pyc文件,而不会调用源代码文件,因此即使改了py文件,对现有的代码而不会产生任何影响,这时候删除对应的pyc文件强制python重新生成pyc文件即可。二:代码安全。因为是pyc文件是可以运行的文件,所以可以避免暴露真正的代码文件,保持代码安全,当然这不是绝对的,pyc文件也可以被反编译的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值