python 的 字节码 导入使用

1. python 模块文件可以通过编译为字节码的形式:

名字:model.py

x = 123
def funt():
    import model
    print(model.x)
    x = "zhangnan"
    print(x)

顶层文件,主文件test.py

import sys

import model

for x in sys.modules:
    print(x)

print("-"*33)
print(sys.modules.keys())

2. 编译后得到编译文件:

  model.cpython-37.pyc

  Test.cpython-37.pyc

3. 直接运行python解释后的字节码文件

  修改model模块的解释后的字节码,重新命名为model.py 注意保证位置不变。因为如果改变模块文件的目录位置,则和其他模块对此模块的调用可能会失败。

  最后得到的:

  mode.pyc
  Test.py

  则,直接运行python Test.py,即可执行。

  这样就读取了模块的二进制文件。

原文地址:https://www.cnblogs.com/icmzn/p/9506983.html

时间: 2024-10-11 18:51:31

python 的 字节码 导入使用的相关文章

Python字节码与解释器学习

参考:http://blog.jobbole.com/55327/ http://blog.jobbole.com/56300/ http://blog.jobbole.com/56761/ 1. 在交互式命令行中执行命令的内部过程 当你敲下return键的时候,python完成了以下四步:词法分析.句法分析.编译.解释.词法分析的工作就是将你刚才输入的那行代码分解为一些符号token(译者注:包括标示符,关键字,数字, 操作符等).句法分析程序再接收这些符号,并用一种结构来展现它们之间的关系(

python字节码(转)

了解 Python 字节码是什么,Python 如何使用它来执行你的代码,以及知道它是如何帮到你的. 如果你曾经编写过 Python,或者只是使用过 Python,你或许经常会看到 Python 源代码文件--它们的名字以 .py 结尾.你可能还看到过其它类型的文件,比如以 .pyc 结尾的文件,或许你可能听说过它们就是 Python 的 "字节码bytecode" 文件.(在 Python 3 上这些可能不容易看到 -- 因为它们与你的 .py 文件不在同一个目录下,它们在一个叫 _

《python源码剖析-字节码和虚拟机》

|   分类于 python源码剖析  | https://fanchao01.github.io/blog/categories/python%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90/ https://fanchao01.github.io/blog/2014/12/26/python-GIL/ python源码剖析-字节码和虚拟机 发表于 2016-11-13   |   分类于 python源码剖析  | Python会将代码先编译成字节码,然后在虚拟机中动

初识模块和字节码

1.python有大量的模块,从而使得开始程序非常简洁.类库有包括三种: a.Python内部提供的模块b.业内开源的模块c.程序员自己开发的模块 2.执行脚本传入参数 python内部提供一个sys的模块,其中的sys.argv用来捕获执行python脚本时传入的参数 例如: #!/usr/bin/env python # -*- coding: utf-8 -*- import sys print sys.argv  3.pyc文件 执行python代码时,如果导入了其他的.py文件,那么执

《python解释器源码剖析》第16章--python的多线程机制

16.0 序 在介绍多线程之前,我们要先知道线程是什么,线程是操作系统调度cpu工作的最小单元,同理进程则是操作系统资源分配的最小单元,线程是需要依赖于进程的,并且每一个进程只少有一个线程,这个线程我们称之为主线程.而主线程则可以创建子线程,一个进程中有多个线程去工作,我们就称之为多线程.关于线程,请记住两句话,这两句话我们在前面章节中也已经提过了. python中的一个线程,对应c语言中的一个线程,然后对应操作系统的一个线程,操作系统的线程我们一般称之为原生线程,这三者是一一对应的. pyth

python注释、脚本参数、字节码

python注释.脚本参数.字节码 --道心 python安装 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\python27 3.配置环境变量 [右键计算机]-->[属性]-->[高级系统设置]-->[高级]-->[环境变量]-->[在第二个内容框中找到 变量名为Path 的一行,双击] --> [Python安装目录追加到变值值中,用 : 分割] 如:原来的值;C:\python27,切记前面有分号

浮生半日:探究Python字节码

好吧!"人生苦短,请用Python",作为python爱好者以及安全从业者,而且最近也碰到了一些这方面的问题,懂点python字节码还是很有必要的. Python是一门解释性语言,它的具体工作流程如下: 1:编译,形成.pyc或.pyo后缀的语言 2:放入解释器,解释器执行字节流(opecode) 和java字节码一样,他们都是基于栈进行解释的.首先,先来看对pyc文件进行一个直观的理解: 一:直面pyc文件 pyc文件的生成一般用于加快Python的解释速度,运行时,如果pyc的编译

Python 的执行方式,字节码 bytecode

这里有个博客讲 Python 内部机制,已经有一些中文翻译. 可能因为我用的Python 3.5,例子跑起来有些不一样. 此外,我又查了其他一些参考资料,总结如下: Python 的执行方式 先看一个比较详细的步骤分解: >>> a = "hello" 输入这行代码之后,你一按回车,Python就会执行四步操作: 1  lexing: 词法分析,就是把一个句子分解成 token.大致来说,就是用str.split()可以实现的功能. 2  parsing:解析,就是把

理解 Python 的执行方式,与字节码 bytecode 玩耍 (下)

上次写到,Python 的执行方式是把代码编译成bytecode(字节码)指令,然后由虚拟机来执行这些 bytecode 而 bytecode 长成这个样子:  b'|\x00\x00d\x01\x00\x14S' .显然这个样子适合机器看,不适合人类看. 虽然你可以通过查字典的方式,手动把这段 bytecode 编写成人类可以看得懂的样子, 但是这么劳累的事情,为什么要自己亲手来做呢,让你的男仆机器来做不就好了吗. Python 的反汇编工具 dis 就可以办到这件事.下面用绚丽的紫色来对di