Я пытаюсь собрать систему, которая будет обрабатывать ленивую загрузку модулей, которые явно не существуют. В основном у меня есть http-сервер с множеством конечных точек, которые я не знаю заранее, что я хотел бы программно предложить для импорта. Эти модули будут иметь единую сигнатуру метода, они просто не будут существовать раньше времени.Lazy-load modules in python
import lazy.route as test
import lazy.fake as test2
test('Does this exist?') # This sends a post request.
test2("This doesn't exist.") # Also sends a post request
Я могу справиться всю логику мне нужно вокруг этого импорта с однородным декоратором, я просто не могу найти способ «украшение» импорта в питоне, или на самом деле, взаимодействуя с ними в каком-либо программном пути ,
У кого-нибудь есть опыт? Я охотился вокруг, и самое близкое, что я нашел, это модуль ast
, который привел бы к действительно ужасной хакерской реализации в моем текущем под моим текущим пониманием (что-то вроде поиска всех операторов импорта и ручного перезаписи функция импорта)
Не ищите раздаточный материал, просто часть кода на основе python, чтобы начать смотреть, или пример того, кто сделал что-то подобное.
Вы ищете [ 'importlib'] (https://docs.python.org/3/library/importlib.html)? – jonrsharpe
@jonrsharpe нет, вид обратного. Я не пытаюсь использовать импорт в другом месте, я пытаюсь перезаписать существующую операцию импорта python. –
. К закрытию голосования: не запрашивать библиотеку, в основном, возможна ли эта функция в пределах python, так как ее нет. документацию, которую я могу найти. –