python查看字节码_查看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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值