170 похожих чатов

А если я importlib.reload использую на файл с импортами оно

на всё повлияет или только на этот?

17 ответов

22 просмотра

"Этот" — это какой? Если коротко и слегка упрощённо, оно выкинет конкретный модуль из кэша и выполнит заново. Вполне вероятны спецэффекты, поэтому не стоит применять для модулей, которые к такому не подготовлены.

jelebruh (weeweewee)
"этот" - файл с импортами

Что за "файл с импортами"?

jelebruh-(weeweewee) Автор вопроса
evle
Что за "файл с импортами"?

типа инит, где куча всякого вкручено для импорта в меин

Релоад перезагружает конкретный один модуль

jelebruh (weeweewee)
типа инит, где куча всякого вкручено для импорта в...

Зайдём с другой стороны. А чего ты хочешь добиться релоадом? Это крайне специфическая штука и просто так не используется.

jelebruh-(weeweewee) Автор вопроса
evle
Зайдём с другой стороны. А чего ты хочешь добиться...

у меня просто спортивный интерес, я не собираюсь этим пользоваться

jelebruh (weeweewee)
у меня просто спортивный интерес, я не собираюсь э...

Ок, механику импорта ты уже изучил, понимаешь, что при нём происходит?

начнем с того что релоад не работает на файл

jelebruh-(weeweewee) Автор вопроса
evle
Ок, механику импорта ты уже изучил, понимаешь, что...

При указе названия сначала идёт поиск во встроенных, нет там - идёт по пути, нет и тут - ошибка При импорте выполняется весь код внутри модуля и если есть инит

jelebruh-(weeweewee) Автор вопроса
Zart
начнем с того что релоад не работает на файл

нет, я просто на тестах релоада из папки импортил не конкретные функции, а сами модули, поэтому их файлами обозвал

jelebruh (weeweewee)
При указе названия сначала идёт поиск во встроенны...

Ну, различие встроенных/не встроенных по сути нет, но вот дальше, про выполнение кода — этапы пропущены. В контексте твоего вопроса это важно.

jelebruh-(weeweewee) Автор вопроса
Zart
а почему сперва идёт поиск во встроенных?

я пошёл на доку питона и единственное что понял, что модули в питоне сидят в кэше sys.modules И может я херово читал, но чёткого ответа не нашёл, поэтому думаю, что потому что сначала модули ищутся в sys.modules, а там они уже записаны, а уже потом в sys.path

jelebruh (weeweewee)
я пошёл на доку питона и единственное что понял, ч...

ответ: >>> sys.meta_path [<class '_frozen_importlib.BuiltinImporter'>, <class '_frozen_importlib.FrozenImporter'>, <class '_frozen_importlib_external.PathFinder'>]

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта