继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Python的.pyc文件是什么

泛舟湖上清波郎朗
关注TA
已关注
手记 133
粉丝 32
获赞 226

Python生成pyc文件

pyc文件是py文件编译后生成的字节码文件(byte code)。pyc文件经过python解释器最终会生成机器码运行。所以pyc文件是可以跨平台部署的,类似Java的.class文件。一般py文件改变后,都会重新生成pyc文件。

为什么要手动提前生成pyc文件呢,主要是不想把源代码暴露出来。

生成单个pyc文件

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

python -m foo.py

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

import py_compilepy_compile.compile('/path/to/foo.py')

批量生成pyc文件

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

import compileallcompileall.compile_dir(r'/path')

这个函数的格式如下:

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

参数含义:

  • maxlevels: 递归编译的层数

  • ddir: If ddir is given, it is prepended to the path to each file being compiled for use in compilation time tracebacks, and is also compiled in to the byte-code file, where it will be used in tracebacks and other messages in cases where the source file does not exist at the time the byte-code file is executed. (谁能翻译一下( ⊙o⊙?)不懂)

  • force: 如果True,不论是是否有pyc,都重新编译

  • rx: 一个正则表达式,排除掉不想要的目录

  • quiet:如果为True,则编译不会在标准输出中打印信息

命令行为:

python -m compileall <dir>

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP