python文件编译为pyc后运行的实现步骤
作者:zkkkkkkkkkkkkk 发布时间:2021-03-08 22:36:46
标签:python,文件编译,运行
一、pyc文件
我们开发一个python脚本,文件的后缀为.py。如果运行这个py文件,Python内部会先将源码文件(.py文件)编译成字节码(byte code)文件(.pyc文件)。接着运行编译后的字节码,最后在控制台输出此次运行的结果。总结来说,pyc是一个可执行的被编译后的py文件,其特点就是在运行时,可以省去python编译器去再次编译的时间,进而就优化了性能。
二、如何编译?
2.1、源码方式编译
写一个Python脚本,使用代码来进行编译,对于熟练使用Python的是一个好办法。
import py_compile as pc
pc.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版本的。(没有具体测试)
来源:https://blog.csdn.net/zkkkkkkkkkkkkk/article/details/129163940


猜你喜欢
- 1、什么是哈希hashhash一类算法,该算法接受传入的内容,经过运算得到一串hash值hash值的特点:只要传入的内容一样,得到的hash
- 下面是代码,如果看不懂,建议先把表格的一些<tr><td>的表格原理弄清楚了,就可以了代码如下:<table&
- 如下所示:ljust(len,str)字符向左对齐,用str补齐长度rjust(len,str)字符向右对齐,用str补齐长度rjust(l
- 我们将会看到一些在Python中使用线程的实例和如何避免线程之间的竞争。你应当将下边的例子运行多次,以便可以注意到线程是不可预测的和线程每次
- numpy.where (condition[, x, y])numpy.where() 有两种用法:1. np.where(conditi
- 第一步:下载mysql驱动cmd进入创建好的django项目目录:使用命令pip install mysqlclient等待安装
- 传统行业里,缺做互联网资深的人;互联网行业里,缺玩传统业务资深的人。于是会造成很多问题,比如两边难沟通,在传统行业者心目中,网络营销e-Ma
- 背景介绍开发中遇到了一个需求:程序运行到某处时需要用户确认, 但不能一直傻等, 后面的程序不能被一直阻塞, 需要有个超时限制, 也就是这个程
- 定义字典 dic = {'a':"hello",'b':"how",
- 背景:最近在做vue的项目,因为页面的逻辑比较复杂,代码量较多,所以就想抽离出一些组件放到component里面。问题就随之来了。因为vue
- 做设计的时候,如何配色是经常让人头痛的问题,尽管很多时候,很多人都说对于色彩的掌握更多的是靠感觉,但是不得不说,感觉也是要有依据的。所以颜色
- 一、 什么是进程 / 线程1、 引论众所周知,CPU是计算机的核心,它承担了所有的计算任务。而操作系统是计算机的管理者,是一个大管家,它负责
- 1、问题描述在项目开发中,当我们通过npm run build打包之后将文件放在服务器上时通常会出现图片失效问题,控制台中提示某个图片没有找
- MySQL去重的方法整理【初级】有极少的重复行使用distinct查出来,然后手动一行一行删除。【中级】按照单个字段的重复去重例如:对id字
- 1、二者的区别apply(): 非异步(子进程不是同时执行的),堵塞主进程。它的非异步体现在:一个一个按顺序执行子进程, 子进程不
- 写在前面最近正好有音视频编辑的需求,虽然之前粗略的了解过FFmpeg不过肯定是不够用的,借此重新学习下;基本概念ffmpeg概念Fmpeg的
- 环境:win7+python3.5(anaconda3)理论上,win7及以上的系统和python任意版本均可。一、基础脚本首先我们构建一个
- 在北美,人们对于 PostgreSQL 的热情不断升温。随着 PostgreSQL 的发展, PostgreSQL 8.x 已经从技术上超越
- 1. 简介Python 读写文件的二进制数据需要使用到struct模块,进行C/C++与Python数据格式的转换。2. struct模块介
- 什么是 better-scrollbetter-scroll 是一个移动端滚动的解决方案,它是基于 iscroll 的重写,它和 iscro