Size: a a a

2021 November 25

DP

Dmitriy Pyrin in Python
Всем привет.
Подскажите, пожалуйста, у меня алхимия генерирует запрос функции вида
SELECT etl.f_rdm_txi(61, 'WF_FCT_SALARY_PENSION_PORTFOLIO_CDM', 273, 1, '19990108', '19990108') AS f_rdm_txi_1
,

но у меня возвращается по факту таблица мне нужен запрос вида select * from
etl.f_get_wf_params('WRK_AGG_PLAN_FACT_BALANCE_DAILY_CDM_BUILD', 1, 3)
,  как можно это организовать, генерация запроса через
Function(
       func_name,
       packagenames=schema_names,
       *args
   ).select()
источник

TB

Thomas Brown in Python
Нашел способ динамического импортирования с помощью importlib
Теперь надо как-то импортировать функцию из модуля 😁

Кто знает решение?
источник

ВЩ

Взщз Щщщхш in Python
function = your_new_module.function
источник

TB

Thomas Brown in Python
как было бы славно если бы так просто )
источник

ВЩ

Взщз Щщщхш in Python
покажи код модуля test
источник

TB

Thomas Brown in Python
Я же указал, динамическое импортирование
Заранее неизвестны имена функций и модулей
источник

TB

Thomas Brown in Python
def test(text):
   print(text)
источник

ВЩ

Взщз Щщщхш in Python
getattr(your_new_module, function_name)
источник

Pavel Павлик in Python
Для чего тебе это?
источник

TB

Thomas Brown in Python
Балуюусь машинным обучением
источник

Pavel Павлик in Python
Это не ответ
источник

Pavel Павлик in Python
Какую проблему ты хочешь решить с помощью динамического импорта?
источник

TB

Thomas Brown in Python
Сработало, спасиб

>>> getattr(_module, 'test')('test')
test
источник

TB

Thomas Brown in Python
Пожалуй, чтобы не выглядеть глупо, в этих приводящих в никуда, опытах, оставлю в тайне
источник

TB

Thomas Brown in Python
@decorator_factory , возможно знаешь как организовать связи множества динамических модулей?
Тобишь, функция install  к примеру добавляет в сценарий модуль, но функция вызывается в цикле обработке команд.
Если не присвоить к переменной то к этому импорту нельзя будет обратиться и вызвать функции.

json не может хранить тип функций. Если использовать дополнительный python скрипт в котором есть dataModules = {}, то он будет общаться с импортированными функциями с помощью ключей, но через оперативку. Перезапуск уничтожит конфигурацию импортов.
источник

ВЩ

Взщз Щщщхш in Python
а зачем такое?
источник

TB

Thomas Brown in Python
Чтобы не импортировать все модули при запуске
источник

TB

Thomas Brown in Python
Точнее не так даже
источник

TB

Thomas Brown in Python
Чтобы не создавать новый словарь
источник

ВЩ

Взщз Щщщхш in Python
в смысле, зачем тебе динамические импорты?
источник