对于已经写好的python代码,有时想了解他的字节码是什么样的,使用dis模块,需要写代码才能看到。例如:hello.py
def hello():
a = addNum(1+2)
b = addNum123545542345234(1+2)
clang = CLanguage()
clang.say()
def main():
hello();
print("Hello, World!")
如果要打印hell和main函数的字节码,只需要调用dis模块的dis函数即可。
import dis
def hello():
a = addNum(1+2)
b = addNum123545542345234(1+2)
clang = CLanguage()
clang.say()
def main():
hello();
print("Hello, World!")
dis.dis(hello)
dis.dis(main)
执行python hello.py,直接把python的字节码打印出来了,输出结果如下:
不过,一个一个函数打印比较慢,下面的代码可以帮助你打印整个文件。
import dis
s=open('hello.py').read()
co=compile(s,'hello.py','exec')
dis.dis(co)
执行之后,打印结果为: