请教一个关于 Python ast 的问题

查看 90|回复 5
作者:mythjava   
我想要截取出一段代码中的全部上下文
例如
a = 3
b = 5
a = a + b
c = 20
c = c / 2
func(a)
func(b)
a
我想要获取有关 a 的代码行
a = 3
b = 5
a = a + b
func(a)
a
各位有知道什么快捷的工具吗, 如果没有只能手写的话 可以帮我预估一下大概要多久才可以写好呢

Python, func, 上下文, 代码

littlepanic72   
用正则表达式,几行就搞定了吧
mythjava
OP
  
@littlepanic72 我只是举了一个简单的例子 实际情况可能要复杂的更多 正则表达式我没有想到好的方式 方便举例说明一下嘛
TtTtTtT   
=。=好家伙,静态语义分析,至少能搞一周+
sujin190   
@TtTtTtT #3 加上闭包动态属性什么的一周都不一定能搞定吧
说不定还是直接运行一下然后通过 trace 追踪一下那些行被调用了实现起来更快呢,话说你干嘛呐?多余的代码就多余呗,耗点性能也无所谓吧
vicalloy   
最可行的方案应当是直接用 python 的 ast 库
https://docs.python.org/3/library/ast.html
您需要登录后才可以回帖 登录 | 立即注册

返回顶部