zoukankan      html  css  js  c++  java
  • 查看python字节码指令

    最近在看《python源码剖析》这本书,其中大部分分析过程都是需要查看字节码指令的,但是书中没有指定如何获取一段代码的字节码指令,查了一下文档才发现该如何生成字节码指令,记录一下:
    假如有一个python文件simple_obj.py,内容如下:

    i = 1
    s = "Python"
    d = {}
    l = []
    

    如何得到该端代码的字节码呢?
    需要使用到dis模块以及compile函数:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    import sys
    import dis
    
    
    s = open(sys.argv[1]).read()
    co = compile(s, sys.argv[1], 'exec')
    print(dis.dis(co))
    

    得到的字节码结果:

      1           0 LOAD_CONST               0 (1)
                  3 STORE_NAME               0 (i)
    
      2           6 LOAD_CONST               1 ('Python')
                  9 STORE_NAME               1 (s)
    
      3          12 BUILD_MAP                0
                 15 STORE_NAME               2 (d)
    
      4          18 BUILD_LIST               0
                 21 STORE_NAME               3 (l)
                 24 LOAD_CONST               2 (None)
                 27 RETURN_VALUE
    
  • 相关阅读:
    substr函数
    Oracle 日期处理
    translate函数使用
    nvl函数
    random随机函数
    case语句
    列的拼接
    并行HASH JOIN小表广播问题
    WITH AS 优化逻辑读
    【hihoCoder挑战赛28 A】异或排序
  • 原文地址:https://www.cnblogs.com/lit10050528/p/13709279.html
Copyright © 2011-2022 走看看