Python的.pyc文件是什么鬼?
2017-11-28 14:45
441 查看
Python生成pyc文件
pyc文件是py文件编译后生成的字节码文件(byte code)。pyc文件经过python解释器最终会生成机器码运行。所以pyc文件是可以跨平台部署的,类似Java的.class文件。一般py文件改变后,都会重新生成pyc文件。为什么要手动提前生成pyc文件呢,主要是不想把源代码暴露出来。
生成单个pyc文件
对于py文件,可以执行下面命令来生成pyc文件。python -m foo.py另外一种方式是通过代码来生成pyc文件。
import py_compile py_compile.compile('/path/to/foo.py')
批量生成pyc文件
针对一个目录下所有的py文件进行编译。python提供了一个模块叫compileall,具体请看下面代码:import compileall compileall.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>
文章转载自:https://www.cnblogs.com/zhangqunshi/p/6657208.html
如有侵权请作者联系我删除!!!
相关文章推荐
- Python什么情况下会生成pyc文件?
- python .py .pyc .pyw 文件有什么区别
- 编译pyc文件——python无法运行其它版本编译的pyc文件的情况
- Python开发.py脚本文件中的#!/usr/bin/python是什么意思?
- Python的pyc文件
- Python编程时.py与.pyc文件的介绍(区别)
- rpm打包时包含python脚本,需要忽略掉pyc, pyo字节码文件
- Python运行时,如何不生成.pyc文件
- python的文件格式有两种,"*.py"和"*.pyw",它们有什么不同
- pyc文件反编译到Python源码
- python py、pyc、pyo、pyd文件区别
- Python pyc文件与code对象相关用法
- python.exe和pythonw.exe的区别(区分.py、.pyw、.pyc文件)
- Python的编译结果-code对象与pyc文件(Python 源码剖析第七章)
- python 反编译 将pyc 文件编译成 py源文件
- python py、pyc、pyo、pyd文件区别
- Python 生成pyc文件
- Python是解释性语言吗? 直到看到有 python py、pyc、pyo、pyd 文件
- python入门(五):pyc是什么?
- Python中Pyc文件的作用