如何获取python opcod的大小

2024-04-25 17:13:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在解析python字节码(co_代码)。对于某些操作,我想知道python操作码的字节长度。在哪里可以找到python操作码的长度?在


Tags: 代码字节co
2条回答

所有CPython字节码操作码都是1字节长。在CPython 3.6+上,所有操作码都额外使用一个1字节的参数,每个指令总共有2个字节。在以前的版本中,小于特殊值HAVE_ARGUMENT的操作码不带参数,大于该值的操作码采用2字节参数,每个指令总共有1或3个字节。在

这样一个简单的函数可以帮助:

def compute_size(opcode):
    if sys.version_info >= (3, 6):
        return 2
    return (1, 3)[opcode < dis.HAVE_ARGUMENT]

相关问题 更多 >

    热门问题