python文件编译为pyc后运行
一、pyc文件
我们开发一个python脚本,文件的后缀为.py。如果运行这个py文件,Python内部会先将源码文件(.py文件)编译成字节码(byte code)文件(.pyc文件)。接着运行编译后的字节码,最后在控制台输出此次运行的结果。总结来说,pyc是一个可执行的被编译后的py文件,其特点就是在运行时,可以省去python编译器去再次编译的时间,进而就优化了性能。
二、如何编译?
2.1、源码方式编译
写一个Python脚本,使用代码来进行编译,对于熟练使用Python的是一个好办法。
import py_compile as pcpc.compile('xxx.py')
2.2、cmd命令方式编译
首先定位到py文件所在的目录,打开cmd。输入以下命令即可
python -m py_compile xxx.py
三、多文件编译
值得注意的是,我们在实际工作中,也不会只用一个文件。这时候需要一次性把项目目录下的所有源码文件编译,操作也很简单。也是有两种方式来进行编译,各自选择适合自己的即可。
3.1、多文件源码方式编译
import compileall as ca# 将d盘xxx\xx目录下所有源码文件编译
ca.compile_dir(r'D:\\xxx\xx')
3.2、多文件cmd命令方式编译
python -m compileall D:\\xxx\xx
四、编译后运行注意事项
4.1、原平台运行
编译后会在有源码的目录下生成一个_pycache_目录,里面存放了当前目录下所有的编译后的pyc文件。需要做的几点如下所示:
1)将_pycache_下的pyc拷贝到对应文件目录下。
2)删除源码py文件。
3)重命名pyc文件为原源码文件名字。
4)原py文件删除即可
4.2、跨平台运行注意事项
编译后的pyc是可跨平台的,但是python的版本是不能跨的。比如你使用3.6版本去编译好的一个pyc文件,在另一个平台上也是需要使用3.6版本的。(没有具体测试)
python文件编译为pyc后运行相关推荐
- python文件编译与pyc反编译
pyc是编译py之后生成的二进制文件.当我们发布系统的时候不想让别人看到源代码,就需要将py文件编译生成pyc文件,对外只提供pyc文件.同样,如果拿到一个python程序,只有pyc文件,我们就无法 ...
- 什么是pyc文件,把python的py文件编译成pyc文件,把pyc文件反编译成py文件。以及python编译的如何设置不生成pyc文件
文章目录 1 什么是pyc文件 1.1 什么是pyc文件 1.2 pyc文件是怎么生成的,有什么好处 2 把python的py文件编译成pyc文件 2.1 使用python内置库py_compile把 ...
- python文件编译_python下编译py成pyc和pyo
什么是pyc文件 pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的 ...
- py文件编译为pyc(命令与脚本)
http://www.cnblogs.com/dkblog/archive/2009/04/16/1980757.html 其实很简单, 用 python -m py_compile file.py ...
- py文件编译为pyc
说明: 我是一个python初学者,希望能够得到各位前辈的指导,大家一起交流.mail:sislcb at 126 dot com 什么是pyc文件 pyc是一种二进制文件,是由py文件经过编译后,生 ...
- python文件 py、pyc、pyo、pyd文件
py是源文件, pyc是源文件编译后的文件 pyo是源文件优化编译后的文件 pyd是其他语言写的python库 先把源码py文件编译成pyc或者pyo,然后由python的虚拟机执行,相对于py文件来 ...
- python源码只有编译成二进制_【转】Python源代码编译成 pyc pyo
原文地址 http://blog.csdn.net/sislcb/archive/2009/03/18/4002414.aspx什么是pyc文件 pyc是一种二进制文件,是由py文件经过编译后,生成的 ...
- 转:Python源代码编译成 pyc pyo
[转] Python源代码编译成 pyc pyo 2011-02-28 17:23 [转] Python源代码编译成 pyc pyo 什么是pyc文件 pyc是一种二进制文件,是由py文件经过编译后, ...
- PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
在这里分享一些技巧和经验给大家.辛苦撰文分享,转载或引用请保留本文作者信息及文章链接. 作者的环境: win7+python3.5(anaconda3) 理论上,win7及以上的系统和python ...
最新文章
- vue 怎么全局到入常量_午后躺椅上看关于Vue的20点
- 根据数组中对象的属性值排序倒叙
- ubuntu16.04+anaconda3+python3.6安装OpenCV3
- 深入浅出谈CUDA(二)
- 使用WebService与Oracle EBS进行集成(下)
- 矩形窗函数的频谱图_读书笔记6-单频矩形脉冲信号
- AutoPostBack与AutoComplete介绍
- 创建高质量Python工程(1)-如何设计结构清晰的目录结构(转)
- 如何测试5.1声卡测试软件,功能至上--德国坦克AUREON 5.1初步测试
- 基于以太网为基础的POE供电温湿度变送器解决方案
- Android x86 镜像 安装到 PC 机上
- 软件开发七宗罪(转发)
- Javaweb-前端三件套入门
- 初中语文古诗词作者生平归纳
- Command(命令模式)行为型
- IntelliJ IDEA 2018.2.4 x64破解
- can和could的用法_中学生的难题can和could有什么关系,只需三分钟让你轻松记
- BZOJ2648: SJY摆棋子2716: [Violet 3]天使玩偶
- VBA学习笔记5:将同一工作簿的数据按照类别拆分为多个工作簿
- linux微软蓝牙鼠标搜不到,计算机搜索蓝牙设备,概率搜索不到