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文件相关推荐

  1. Python篇之编译py文件为pyc文件的方法总结

    一.前言 一般来说,当我们在发布系统的时候,希望上线的代码是安全可靠的,不希望别人能看到源代码,通常都会先提前编译好,然后进行发布,在python中,编译好的代码格式为 .pyc 文件 常见的pyth ...

  2. python py文件与pyc文件相互转换

    本文以Python3.8为例 1. compileall py文件转换为pyc 1.1.compileall命令行模式 不需要额外安装,python自带模块. 可以利用Python -m的方式在命令行 ...

  3. Python源码剖析[16] —— Pyc文件解析

    Python源码剖析[16] -- Pyc文件解析 2008-02-28 18:29:55|  分类: Python |举报 |字号 订阅 Python源码剖析 --Pyc文件解析 本文作者: Rob ...

  4. .py文件转.pyc文件

    .py文件转.pyc文件 转载自 python提供了内置的类库来实现把py文件编译为pyc文件,这个模块就是py_compile 模块. 将单个python文件转为pyc文件 python -m py ...

  5. 【Python个人学习笔记】--- pyc文件(了解)

    pyc中的c是compiled编译过的意思. 操作步骤 1. 浏览程序目录时会发现一个_Pycache的目录. 2. 目录下会有一个xxx.cpython -3x.py文件,cpython - 3x表 ...

  6. 【Python源码阅读】PYC 文件剖析

    .pyc 文件相信大家见怪不怪,大家经常在 __pycache__ 里面见到这些文件.这些文件存储了 python 编译出来的字节码文件,还有一些元信息(例如版本号,对应文件的修改时间).接下来将通过 ...

  7. python运行pyc文件_Python pyc文件

    什么是pyc文件 pyc 是由py文件经过编译后二进制文件,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python 的虚 拟机来执行的.pyc的内容,是跟pyt ...

  8. python直接使用pyc_关于python包,模块,.pyc文件和文件导入理解

    一.包 包是一个文件夹,用来存放模块和子包. 包里一般会有一个__init__.py的文件(也可以没有). 包里会有一个__pycache__文件夹,存放.py文件经解释器解释后的中间字节码(二进制文 ...

  9. python setup.py bdist_wheel生成wheel文件,示例:安装webrtcvad

    概述 有些python包在pypi上的wheel文件年代久远,且平台不齐全,例如:webrtcvad 因此需要利用setup.py进行安装 本文还提供了Python3.7下,webrtcvad的最新版 ...

最新文章

  1. 线性代数:第二章 矩阵及其运算
  2. Navicat Essentials 功能简介
  3. 眉目传情之匠心独运的kfifo【转】
  4. word被锁定无法编辑怎么解锁_Word论文里的公式怎么编辑?这4个小工具帮你一分钟搞定!...
  5. java interface泛型_java – 使用泛型和接口实现组合
  6. Memcached通用类(基于enyim.com Memcached Client)
  7. 如何使用itunes的Promo code进行软件购买?
  8. PAT (Advanced Level) 1003 Emergency(最短路+动态规划)
  9. 微型计算机技术及应用选择题,微机(微型计算机技术及应用)选择题及答案(最终版).docx...
  10. Nifi清空Queue操作
  11. 工作174:数组转换为对象项目案例
  12. 测试使用navicat工具将MySQL格式SQL文件导入到MogDB数据库
  13. 计算机网络的定义分类性能指标,3_计算机网络分类与主要性能指标.ppt
  14. css中的大于号是什么意思 有何作用
  15. 我的世界颜色代码服务器不显示,我的世界颜色代码符号大全,让你构造一个五彩斑斓的世界...
  16. 北航软件工程考研经验总结
  17. eclipse保存文件出现save could not be completed. Try File Save As..
  18. FPGA 之 SOPC 系列(七)NIOS II 高级技术
  19. 乐视尚酷版无线手柄PC驱动 手柄通用驱动教程
  20. 【源码解析】Activity的启动模式

热门文章

  1. 物联网周刊(第 4 期):边缘人工智能
  2. 基于篇章结构的英文作文自动评分方法(学习笔记)
  3. 【算法】【华为】2019华为笔试 找终点:给定一个正整数数组,最大为100个成员,从第一个成员开始,走到数组最后一个成员最少的步骤数,
  4. Chrom浏览器安装Axure扩展插件
  5. [ 渗透入门篇 ] 渗透行业必备术语大集合(六)
  6. 以原始套接字的方式 截获流经本机网卡的IP数据包
  7. Rock Pi开发笔记(三):Rock Pi 4B plus(基于瑞星微RK3399)板子硬件资源介绍
  8. Leetcode 1004
  9. error reconnecting to master ‘userName@192.168.1.88:3306‘ - retry-time: 60 maximum-retries: 86400
  10. 牛是怎么死的?(至少30岁的人才能读懂)