首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取python操作码的大小

如何获取python操作码的大小
EN

Stack Overflow用户
提问于 2018-06-12 05:40:45
回答 2查看 517关注 0票数 0

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-12 05:50:46

所有CPython字节码操作码都是1字节长。在CPython 3.6+上,所有操作码都另外采用1字节参数,即每条指令总共2个字节。在以前的版本中,小于特殊值HAVE_ARGUMENT的操作码不接受任何参数,而大于该值的操作码接受2字节的参数,因此每条指令总共有1或3个字节。

票数 3
EN

Stack Overflow用户

发布于 2019-06-09 04:20:23

这样一个简单的函数可能会有所帮助:

代码语言:javascript
复制
def compute_size(opcode):
    if sys.version_info >= (3, 6):
        return 2
    return (1, 3)[opcode < dis.HAVE_ARGUMENT]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50806427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档