发布网友
共1个回答
热心网友
用dis模块去看bytecode,关注一下带JUMP的指令和CALL_FUNCTION相关的指令可以找到分支、跳转和函数调用的相关信息(可以找到跳转和调用的条件,目标,op在source的line number等等信息),再结合inspect的getsource一系列函数应该差不多了。
如果这样可行的话,难度不大。
当然,ast模块去看ast应该也行。不过我之前一些项目经验让我更喜欢直接去看bytecode。