Есть ли анализатор объема для Python?
Учитывая файл 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
относится к модулю а.function_in_a
относится к функции, определенной в модуле - в строке 9,
xyz
относится к функции, определенной в модуле b
Есть ли библиотека, которая делает это для меня? В основном я пытаюсь использовать в контексте функциональности IDE / автозаполнения кода / понимания областей переменных. По сути, мне интересно понять расположение определения идентификатора (переменной, функции и т. Д.), Так же как то, как его определяет среда IDE, такая как PyCharm.
1 ответ
Странно, что я не видел эту проблему раньше.
Там в jedi.names
, который сделал бы в значительной степени то, что вы хотите!