3

给定一个 python 文件,我想找出文件中标识符的所有范围和声明。

例如,给定这个文件:

import a
from b import xyz

def my_func(g):
   print "2"

my_func(0)
a.function_in_a(3)
xyz(4)

我希望输出为:

  • 在第 7 行,my_func指的是my_func在此文件的第 4 行中定义的
  • 在第 8 行,a指的是模块 a。function_in_a指模块 a 中定义的函数
  • 在第 9 行,xyz指的是模块 b 中定义的函数

有没有为我做这个的图书馆?基本上我试图在IDE功能/代码自动完成/理解变量范围的上下文中使用。基本上,我有兴趣了解标识符(变量、函数等)定义的位置,就像 PyCharm 之类的 IDE 如何确定它一样。

4

1 回答 1

2

奇怪的是我以前没有见过这个问题。

jedi.names,这几乎可以满足您的需求!

https://jedi.readthedocs.io/en/latest/docs/api.html#jedi.names

于 2016-07-10T09:58:42.930 回答