Глобальный импорт модулей в Python?

Здравствуйте, я начинающий программист python, столкнулся с такой проблемой. У меня в проекте есть несколько файлов, примерная структура проекта такая:

install.py
app (folder):
- output.py
- check.py
- pars.py

во всех этих файлах мне нужно использовать кириллицу и несколько стандартных модулей python (os, math и т.д), как сделать так, что бы можно было подключить все этим модули лишь 1 раз в каком то одном файле в котором будут подключаться мои модули (check, pars и.т.д) т.е что бы модуль os например был доступен везде и при этом не писать каждый раз import os и также с кодировкой.
  • Вопрос задан
  • 446 просмотров
Решения вопроса 2
@deliro
Это не pythonic way. Всё, что ты используешь стороннее в коде должно быть прописано в импортах.
Ответ написан
@nirvimel
Python не PHP. А глобальное пространство имен не помойка. Каждое имя должно попадать в глобальное пространство явным образом: либо через определение функции/класса, либо через импорт конкретного имени в заголовке этого же модуля, а не где-то в совершенно другом месте. Чтобы взглянув только на заголовок можно было сразу понять на что опирается и от чего зависит этот модуль. Чтобы вызов format_c() выбрасывал ошибку, если вы не писали никакой функции format_c, вместо того чтобы тихо вызывать где-то случайно заимпортированную os.low_level.dangerous.format_c

Но для любителей помоек существует вариант понаимпортировать в отдельный модуль разные имена отовсюду, а в остальных модулях заменить всю секцию импорта на ничего не говорящую строку:
from miscellaneous_imports_module import *
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы