python编译py文件为pyc文件
python py编译pyc方法和运行导入pyc
1.编译文件
编译py文件为pyc文件:
import py_compile
py_compile.compile('./test.py')
结果会在test.py同文件夹下生成__pycache__文件夹:生成test.cpython-36.pyc(cpython-36,36数字是python版本,不同版本的数字不同)文件;
编译文件夹下所有py文件为pyc文件:
import compileall
path = './'
compileall.compile_dir(path)
结果会在每一文件夹下都会生成__pycache__文件夹,把当前文件夹下的py文件编译为xxx.cpython-36.pyc文件保存;
2.文件读取
pyc文件运行:需要把文件xxx.cpython-36.pyc重命名为xxx.pyc这样就可以正常文件一样导入,如果是文件夹下所有文件,都需要修改为xxx.pyc文件形式,,不然可能会出现找不到包的导入报错,导入如下:
import test
运行pyc文件形式:
import pyc
3.全项目替换pyc文件实例代码
编译:
import compileall
path = './'
compileall.compile_dir(path)
pyc文件替换py文件,并修改后缀:
import os
import shutil
path = './'
def move_pyc(path):for i in os.listdir(path):if os.path.isdir(os.path.join(path, i)):move_pyc(os.path.join(path, i))if os.path.exists(os.path.join(path, '__pycache__')):for name in os.listdir(os.path.join(path, '__pycache__')):file_name = name.split('.')[0]+'.py'if os.path.exists(os.path.join(path, file_name)):print(os.path.join(path, file_name))# os.remove(os.path.join(path, file_name)) #删除py文件,慎重shutil.move(os.path.join(path, '__pycache__', name), os.path.join(path, name.replace('cpython-36.','')))
python编译py文件为pyc文件相关推荐
- Python篇之编译py文件为pyc文件的方法总结
一.前言 一般来说,当我们在发布系统的时候,希望上线的代码是安全可靠的,不希望别人能看到源代码,通常都会先提前编译好,然后进行发布,在python中,编译好的代码格式为 .pyc 文件 常见的pyth ...
- python py文件与pyc文件相互转换
本文以Python3.8为例 1. compileall py文件转换为pyc 1.1.compileall命令行模式 不需要额外安装,python自带模块. 可以利用Python -m的方式在命令行 ...
- Python源码剖析[16] —— Pyc文件解析
Python源码剖析[16] -- Pyc文件解析 2008-02-28 18:29:55| 分类: Python |举报 |字号 订阅 Python源码剖析 --Pyc文件解析 本文作者: Rob ...
- .py文件转.pyc文件
.py文件转.pyc文件 转载自 python提供了内置的类库来实现把py文件编译为pyc文件,这个模块就是py_compile 模块. 将单个python文件转为pyc文件 python -m py ...
- 【Python个人学习笔记】--- pyc文件(了解)
pyc中的c是compiled编译过的意思. 操作步骤 1. 浏览程序目录时会发现一个_Pycache的目录. 2. 目录下会有一个xxx.cpython -3x.py文件,cpython - 3x表 ...
- 【Python源码阅读】PYC 文件剖析
.pyc 文件相信大家见怪不怪,大家经常在 __pycache__ 里面见到这些文件.这些文件存储了 python 编译出来的字节码文件,还有一些元信息(例如版本号,对应文件的修改时间).接下来将通过 ...
- python运行pyc文件_Python pyc文件
什么是pyc文件 pyc 是由py文件经过编译后二进制文件,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python 的虚 拟机来执行的.pyc的内容,是跟pyt ...
- python直接使用pyc_关于python包,模块,.pyc文件和文件导入理解
一.包 包是一个文件夹,用来存放模块和子包. 包里一般会有一个__init__.py的文件(也可以没有). 包里会有一个__pycache__文件夹,存放.py文件经解释器解释后的中间字节码(二进制文 ...
- python setup.py bdist_wheel生成wheel文件,示例:安装webrtcvad
概述 有些python包在pypi上的wheel文件年代久远,且平台不齐全,例如:webrtcvad 因此需要利用setup.py进行安装 本文还提供了Python3.7下,webrtcvad的最新版 ...
最新文章
- 线性代数:第二章 矩阵及其运算
- Navicat Essentials 功能简介
- 眉目传情之匠心独运的kfifo【转】
- word被锁定无法编辑怎么解锁_Word论文里的公式怎么编辑?这4个小工具帮你一分钟搞定!...
- java interface泛型_java – 使用泛型和接口实现组合
- Memcached通用类(基于enyim.com Memcached Client)
- 如何使用itunes的Promo code进行软件购买?
- PAT (Advanced Level) 1003 Emergency(最短路+动态规划)
- 微型计算机技术及应用选择题,微机(微型计算机技术及应用)选择题及答案(最终版).docx...
- Nifi清空Queue操作
- 工作174:数组转换为对象项目案例
- 测试使用navicat工具将MySQL格式SQL文件导入到MogDB数据库
- 计算机网络的定义分类性能指标,3_计算机网络分类与主要性能指标.ppt
- css中的大于号是什么意思 有何作用
- 我的世界颜色代码服务器不显示,我的世界颜色代码符号大全,让你构造一个五彩斑斓的世界...
- 北航软件工程考研经验总结
- eclipse保存文件出现save could not be completed. Try File Save As..
- FPGA 之 SOPC 系列(七)NIOS II 高级技术
- 乐视尚酷版无线手柄PC驱动 手柄通用驱动教程
- 【源码解析】Activity的启动模式
热门文章
- 物联网周刊(第 4 期):边缘人工智能
- 基于篇章结构的英文作文自动评分方法(学习笔记)
- 【算法】【华为】2019华为笔试 找终点:给定一个正整数数组,最大为100个成员,从第一个成员开始,走到数组最后一个成员最少的步骤数,
- Chrom浏览器安装Axure扩展插件
- [ 渗透入门篇 ] 渗透行业必备术语大集合(六)
- 以原始套接字的方式 截获流经本机网卡的IP数据包
- Rock Pi开发笔记(三):Rock Pi 4B plus(基于瑞星微RK3399)板子硬件资源介绍
- Leetcode 1004
- error reconnecting to master ‘userName@192.168.1.88:3306‘ - retry-time: 60 maximum-retries: 86400
- 牛是怎么死的?(至少30岁的人才能读懂)