查看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
posted @   冷冰若水  阅读(1038)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示