Я пишу средство проверки Pylint, и мне нужно провести различие между импортом, который является импортом пакета одного уровня, и импортом функции или класса.
Пример импорта родного брата:
from . import sibling_package
Пример импорта функции:
from numpy import array
Последний пример, который я хочу пометить, в то время как первый, который я хочу разрешить, поэтому я должен иметь возможность определить разницу между ними.
Я сейчас использую:
modspec = importlib.util.find_spec('numpy', 'array')
Это возвращает ModuleSpec
, но мне неясно, как я могу достичь цели идентификации импорта array
как модуля по сравнению с функцией / классом. В этом примере это импорт функции, и поэтому он должен быть помечен.