pyc
当运行一个高级程序的时候,需要一个翻译机把高级语言变成计算机能读懂的机器语言的过程.这个过程分为两类:
- 编译
- 在程序执行之前,先通过编译器对程序执行一个编译的过程,把程序变成机器语言,运行时就不需要翻译,而直接执行就可以了.
- 典型是C语言
- 解释
- 在程序运行的时候,通过解释器对程序逐行作出解释,然后直接运行
- 典型的是Ruby
- Java
- 首先通过编译成字节码文件,然后在运行时通过解释器给解释成机器文件.
- Java是一种先编译后解释的语言
- Python
- 和Java / C#一样, 也是一门基于虚拟机的语言.
- Python是一门先编译后解释的语言
- 当在命令行中输入python hello.py时,其实是激活了Python的解释器. 在解释之前,其实执行的第一项工作和Java一样,是编译.
- PyCodeObject是Python编译器真正编译成的结果.
- 当Python程序运行时,编译的结果保存在位于内存中的PyCodeObject, 当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中
- 当Python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,直接载入.否则就重复上面的过程.
- 所以说pyc是PyCodeObject的一种持久化保存方式.
pyc的更多相关文章
- Pyc 是什么东东
在众多语言中, 最终我们可以将语言分为编译性语言和解释性语言两种 编译性语言,也就是机器语言, 是机器能读的懂的语言, 像C语言, 其实高级语言都是基于C语言的基础之上运行的 解释性语言, 不同于编译 ...
- python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)
一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...
- vscode过滤pyc文件
在工作区设置里添加如下代码: { "files.exclude": { "**/.git": true, "**/.svn": true, ...
- python下编译py成pyc和pyo
python下编译py成pyc和pyo 其实很简单, 用 python -m py_compile file.py python -m py_compile /root/src/{file1,f ...
- .pyc是个什么鬼?
1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在.如果是解释型语言, ...
- .pyc文件是什么?
一个.py文件就是一个模块,而模块名就是文件名,如module.py的模块名就是module.如果module.py文件里定义了一些函数和变量,而外部文件如test_module.py想使用这些函数或 ...
- pyc 文件反编译 py uncompyle2
一.工具 https://github.com/Mysterie/uncompyle2 -----------------------2016-6-3 11:24:19-- source:[1]用un ...
- Python 基礎 - pyc 是什麼
Python2.7 版中,只要執行 .py 的檔案後,即會馬上產生一個 .pyc 的檔案,而在 Python3 版中,執行 .py 的檔案後,即會產生一個叫 __pycache__ 的目錄,裡面也會有 ...
- python py生成为pyc文件
生成单个pyc文件 python就是个好东西,它提供了内置的类库来实现把py文件编译为pyc文件,这个模块就是 py_compile 模块. 使用方法非常简单,如下所示,直接在idle中,就可以把一个 ...
- Python发布Django项目的pyc版脚本
import os import sys from py_compile import compile #print "argvs:",sys.argv if len(sys.ar ...
随机推荐
- How tomcat works 读书笔记十二 StandardContext 下
对重载的支持 tomcat里容器对重载功能的支持是依靠Load的(在目前就是WebLoader).当在绑定载入器的容器时 public void setContainer(Container cont ...
- ibm云时代的转型
好几个月了,有两个说法很流行. 第一个说法,是老有人嚷嚷思科快被SDN整趴下了:第二个说法,是老有人嚷嚷IBM在云计算时代完全落后了,要倒下了. 刚开始我还跟有些人辩论: 1.裁员是西方企业常用的战略 ...
- C语言算法---求鞍点
题目:有一个3X4矩阵,要求输出其鞍点(行列均最大的值),以及它的行号和列号. int a[3][4] = {{123,94,-10,218}, {3 ...
- obj-c编程15[Cocoa实例02]:KVC和KVO的实际运用
我们在第16和第17篇中分别介绍了obj-c的KVC与KVO特性,当时举的例子比较fun,太抽象,貌似和实际不沾边哦.那么下面我们就用一个实际中的例子来看看KVC与KVO是如何运用的吧. 该例中用到了 ...
- ruby写一个文件内容相似性比较的代码
1.相似度定义 我们定义,则,我们设,则,|C|=s,则相似度p=,p(0,1) 2.相似度检测算法设计 算法设计: 定义4个字符为一个字符串,将T1,T2分割成若干字符串,若剩余字符不足4个,则以空 ...
- Unity的资源管理
本篇文章翻译自Unity的官方文档,原文地址:https://docs.unity3d.com/Manual/BehindtheScenes.html Unity自动导入资源的同时为你管理这些资源产生 ...
- Ubuntu 14.04 32位 JDK+ADT Bundle+NDK安装
1. 安装JDK tar或GUI解压jdk-8u25-linux-i586.tar.gz 编辑/etc/environment文件 CLASSPATH="/home/zhouwei/jdk1 ...
- 使用JConsole以及VisualVM进行jvm程序的监控,排错,调优
这里只是做一个备份,便于以后继续. 添加两个感觉好的链接吧: http://www.linuxidc.com/Linux/2015-02/113420.htm http://blog.csdn.net ...
- .net找List1和List2的差集
有个需求是找两个自定义类泛型集合的差集: class Person { public string Name{get; set;} public string Country{get; set;} } ...
- eclipse乱码
eclipse乱码:Windows >general >Workspace UTF-8Windows >general >Editors >Text Editors &g ...