Когда импортируется модуль с именем spam
, интерпретатор сначала ищет встроенный модуль с таким именем.Если файл не найден, он ищет файл с именем spam.py
в списке каталогов, заданных переменной sys.path
>>> import sys
>>> sys.path
['', 'C:\\Python36\\python36.zip', 'C:\\Python36\\DLLs', 'C:\\Python36\\lib', 'C:\\Python36', 'C:\\Python36\\lib\\site-packages']
Если мы увидим, что первое значение ''
относится к текущемупапка, так почему мы можем импортировать файлы с текущего пути.Для импорта из родительской папки мы добавляем родительскую папку в переменную sys.path
>>> import os
>>> sys.path.append(os.path.abspath("./.."))
>>> sys.path
['', 'C:\\Python36\\python36.zip', 'C:\\Python36\\DLLs', 'C:\\Python36\\lib', 'C:\\Python36', 'C:\\Python36\\lib\\site-packages', 'D:\\Python Programs\\Practice_Imports\\stack']
Теперь sys.path
содержит родительскую папку, поэтому мы можем импортировать client.py
из Group.py
>>> import client
Проверьте эту ссылку , чтобы получить четкие сведения об импорте.