Каков порядок загрузки модулей Python?

Такая ситуация: в текущем каталоге находится 2 файла - sys.py и test.py. Почему когда в файле test.py осуществляется import sys, импортируется стандартная библиотека, а не мой файл, ведь в списке путей поиска (sys.path) модулей первым делом стоит текущий каталог?
  • Вопрос задан
  • 442 просмотра
Пригласить эксперта
Ответы на вопрос 2
Переменная sys.path содержит список строк с именами каталогов, в которых происходит поиск модулей. Она инициализируется из значения переменной окружения PYTHONPATH и встроенного значения по умолчанию. Можно добавить путь:
import sys
sys.path.append(/home/my/lib/python)
Для выяснения имен, определенных в модуле, можно использовать встроенную функцию dir(). Она возвращает отсортированный список строк:
dir(sys)

Каждый модуль имеет собственное пространство имен, являющееся глобальной областью видимости для всех определенных в нем функций. Для того чтобы переменные этого модуля не попали в конфликт с другими глобальными именами или другими модулями, нужно использовать префикс: _имя_модуля_._имя_переменной_ .
Ответ написан
ADR
@ADR
Delphi, Python, LabView, C, electronic, Qt/C++
Если вы хотите подменить sys только для своем программы то можно как-то так:
import my_sys as sys
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы