网络编程
位置:首页>> 网络编程>> Python编程>> python文件编译为pyc后运行的实现步骤

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文件删除即可

python文件编译为pyc后运行的实现步骤

4.2、跨平台运行注意事项

编译后的pyc是可跨平台的,但是python的版本是不能跨的。比如你使用3.6版本去编译好的一个pyc文件,在另一个平台上也是需要使用3.6版本的。(没有具体测试)

来源:https://blog.csdn.net/zkkkkkkkkkkkkk/article/details/129163940

0
投稿

猜你喜欢

  • 多值运动,也就是对于某个对象来说,不仅仅只是其中一个属性值在变化,而是好多个,比如宽,高,字体,透明度等等同时变化当然了,多值运动会产生一个
  • time模块1:概述时间表示的分类时间戳格式化的时间字符串结构化时间时间戳:时间戳表示的是从1970年1月1日整0点到目前秒的偏移量,数据类
  • 这个分页使用的是0游标,也就是Rs.Open Sql,Conn,0,1。但是感觉也快不了多少,10万条数据的分页时间300多豪秒之间。代码如
  • 有时候我们不希望浏览器使用缓存加快网页的显示,尤其是那些论坛之类的频繁更新内容的网页,在网上有说可以使用下面的方法来屏蔽缓存,但是我试了效果
  • 前言我们在写应用时,基本都会用到配置文件,从各种 shell 到 nginx 等,都有自己的配置文件。虽然这没有太多难度,但是配置项一般相对
  • 原理中文分词,即 Chinese Word Segmentation,即将一个汉字序列进行切分,得到一个个单独的词。表面上看,分词其实就是那
  • 在上一个文章里写了关于左(右)侧定宽右(左)侧自动缩放的两列浮动,这个文章就要说一下三列浮动的问题了。在之前说过,两列浮动是其他多列浮动的基
  • 装饰器模式装饰器模式解决什么问题?增加新功能,且不改变原有功能和代码选配,根据不同情况,动态调整功能装饰器,顾名思义,就是用来装饰其他实物,
  • 此文章主要向大家讲述的是SQL Server数据库的分布式数据库系统的实际目标,通俗的讲就是研制分布式数据库系统的目的、动机,其中主要包括的
  • 早上看了一个贴子,是一个哥们推广自己一个智能的数据库备份系统,他总结了数据库备份过程中所有可能出错的情况,可以借鉴。如果你做DBA时间不长,
  • 使用 WinHttpRequest 伪造 HTTP 头信息,伪造 Referer 等信息。由于微软封锁了 XmlHttp 对象,所以无法伪造
  • 简介CSS Sprites并没有一个确定的中文翻译,通常被意译为“CSS图像拼合”或“CSS贴图定位”。CSS Sprites并不是一门新技
  • 10月9日是国庆中秋黄金周后上班的第一天,当天近8亿人次逛淘宝,即淘宝网每分钟完成43.47万元的交易,创下国内网购单天交易最高纪录。从销售
  • 修改MySQL下的默认mysql数据库的user表,删除所有host为localhost记录,另外添加一些其他记录,重新启动MySQL服务器
  • 这篇文章主要介绍了python列表推导式入门学习解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友
  • 对于中小型个人、企业网站来说,MySQL数据库或许是目前数据库的最完美实施解决方案了。在不变更服务器硬件的前提下,一个经过良好架构,优化后的
  • Python中可以使用 pickle 模块将对象转化为文件保存在磁盘上,在需要的时候再读取并还原。具体用法如下:pickle是Python库
  • 近日,有朋友一直打听flash连结服务器相关的知识,搞得我忧心重重,重点是自己也忘记了,大部分Flash的相关开发都是两年前的事,而且fla
  • 网站域名一般都会选简短易记的,因为这对于网站宣传来说也可以省不少力。而被很多网站忽视的站内Url结构则在一定程度上反映出网站的整体架构。当设
  • ASP长文章分页代码实例,也许你会问一篇文章为什么还要进行分页呢?因为文章有短有长,当你的文章很长的时候,如果就一个页面都显示出来的话,读者
手机版 网络编程 asp之家 www.aspxhome.com