Уведомления

Группа в Telegram: @pythonsu

#1 Март 1, 2018 17:36:31

Vuramu
Зарегистрирован: 2017-12-30
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Обращение к модулю по имени, содержащемуся в строке.

У меня в проекте есть папка “modules/scrypts”. Там создаются python скрипты с именами, соответствующими их id в базе данных.

Например есть 4.py, в нем функция

 #import <модули>
#<локальные переменные модуля>
def GetAnswer():
#Выполняются какие-то действия
return 'текст' #Возвращается текстовая строка

как мне в другом модуле, имея id типа int или str, получить результат выполнения этой функции?

Может быть можно сгенерировать словарь, на основе того, что имеется в папке scrypts, в виде {'4' : scrypts.4} ?

Отредактировано Vuramu (Март 1, 2018 18:15:32)

Офлайн

#2 Март 1, 2018 23:23:21

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Обращение к модулю по имени, содержащемуся в строке.

ну 4.py это, как мне видеться, не верное имя для модуля python что бы его можно было импортировать. Здесь как и с именами переменных - не должны начинаться с цифры.
Динамический импорт в питоне осуществляется с помощью модуля importlib



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Март 2, 2018 07:26:21

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Обращение к модулю по имени, содержащемуся в строке.

ну и для такой функции вы ничего не получите кроме сообщения о синтаксической ошибке.



Офлайн

#4 Март 2, 2018 17:40:12

Vuramu
Зарегистрирован: 2017-12-30
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Обращение к модулю по имени, содержащемуся в строке.

JOHN_16

JOHN_16
Динамический импорт в питоне осуществляется с помощью модуля importlib
Спасибо, помогло

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version