python中__pyc__文件的生成和作用

当我们的python文件被编译过,文件之间存在import关系,就会生成一个__pyc__文件夹。

比如我们新建一个工程,里面一共两个py文件。
分别是ttt.py和imp.py

ttt.py里面就只有一个方法。
imp.py import了ttt。编译过后,我们会看见多了一个__pyc__文件夹
.

imp.py

 

import ttt
ttt.sayHello()

image.png

内部

 

image.png

一、存在的意义

主要意义:加快启动速度

原因

Python 在解释源程序时分为两步:

  • 第一步:将源码转为字节码
  • 第二步:将字节码转换为机器码

image.png

pyc 文件是由 Python 解释器将 模块的源码 转换为 字节码。
(pyc,py代表pychon,c 是 compiled的含义,pyc即编译过的python文件 )

当我们的程序没有修改过,那么下次运行程序的时候,就可以跳过 从源码到字节码 的过程,直接加载 pyc 文件。

二、命令生成 pyc 文件

生成单个pyc文件

对于py文件,可以执行下面命令来生成pyc文件。

 

python -m test.py

另外一种方式是通过代码来生成pyc文件。

 

import py_compile
py_compile.compile('/path/test.py')

批量生成pyc文件

针对一个目录下所有的py文件进行编译。python提供了一个模块叫compileall,具体请看下面代码:

 

import compileall
compileall.compile_dir(r'/path')

这个函数的格式如下:

 

compile_dir(dir[, maxlevels[, ddir[, force[, rx[, quiet]]]]])

三、注意点

  • 1、import过的文件才会自动生成 pyc文件。
  • 2、pyc文件不可以直接看到源码,可以被反编译
  • 3、pyc的内容,是跟python的版本相关的,不同 版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的python是无法执行的

END



作者:阿敏其人
链接:https://www.jianshu.com/p/7a3a547952c0
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值