LINUX.ORG.RU

История изменений

Исправление Virtuos86, (текущая версия) :

Тебе неправильно подсказали. Делаю это правильно. Python при импорте ищет требуемый модуль по путям, которые хранятся в списке sys.path. При этом путь к каталогу, в котором находится исполняемый в данный момент модуль (в твоем случае это test.py и dns.py), автоматически добавляется _в начало_ sys.path, таким образом, поиск сначала производится в том же каталоге, где лежит исполняемый в данный момент модуль. Поэтому когда Python доходит до строки «import dns.resolver», он начинает искать модуль или пакет с именем «dns» в текущей директории. А там у тебя твой пример лежит, который так и называется. Начинается рекурсивный импорт, который обрывается только потому, что сущности с идентификатором «resolver» в твоем примере нет.

Исходная версия Virtuos86, :

Тебе неправильно подсказали. Делаю ж о правильно. Python при импорте ищет требуемый модуль по путям, которые хранятся в списке sys.path. При этом путь к каталогу, в котором находится исполняемый в данный момент модуль (в твоем случае это test.py и dns.py), автоматически добавляется _в начало_ sys.path, таким образом, поиск сначала производится в том же каталоге, где лежит исполняемый в данный момент модуль. Поэтому когда Python доходит до строки «import dns.resolver», он начинает искать модуль или пакет с именем «dns» в текущей директории. А там у тебя твой пример лежит, который так и называется. Начинается рекурсивный импорт, который обрывается только потому, что сущности с идентификатором «resolver» в твоем примере нет.