На этом этапе вы узнаете, как Python обрабатывает пути к модулям и как определить местоположение файла модуля. Понимание путей к модулям является важным аспектом управления и организации ваших Python-проектов.
Python использует список каталогов для поиска модулей при их импорте. Этот список хранится в переменной sys.path
. Давайте посмотрим, как просмотреть и понять этот путь.
-
Откройте редактор VS Code в среде LabEx.
-
Создайте новый файл с именем module_path.py
в каталоге ~/project
.
import sys
print(sys.path)
Этот скрипт импортирует модуль sys
и затем выводит значение sys.path
, которое представляет собой список путей к каталогам.
-
Запустите скрипт с помощью следующей команды в терминале:
python module_path.py
Вы увидите список путей к каталогам, выведенный в терминал. Это порядок, в котором Python ищет модули. Вывод будет выглядеть примерно так:
['/home/labex/project', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/usr/lib/python3.10/lib-dynload', '/usr/local/lib/python3.10/dist-packages', '/usr/lib/python3/dist-packages']
Первый путь в списке, /home/labex/project
, представляет текущий рабочий каталог. Это означает, что Python сначала будет искать модули в каталоге, где вы запускаете скрипт.
Другие пути - это системные каталоги, где установлены библиотеки Python.
-
Теперь давайте создадим простой модуль и посмотрим, как Python его находит. Создайте новый файл с именем my_module.py
в каталоге ~/project
.
def my_function():
return "Hello from my_module!"
Этот модуль определяет одну функцию с именем my_function
.
-
Создайте еще один файл с именем main.py
в каталоге ~/project
.
import my_module
result = my_module.my_function()
print(result)
Этот скрипт импортирует модуль my_module
и вызывает функцию my_function
.
-
Запустите скрипт main.py
:
python main.py
Вы должны увидеть следующий вывод:
Hello from my_module!
Это показывает, что Python смог найти и импортировать модуль my_module
, так как он находится в том же каталоге, что и скрипт main.py
, который входит в sys.path
.