Динамически импортировать модуль Python из папки, а затем получить доступ к его функции
Я пытаюсь динамически импортировать файлы Python из каталога, а затем каким-то образом мне доступны эти функции, такие как список. В настоящее время я импортирую все модули из родительской папки, в которой находятся эти модули и содержит __init__.py
файл со следующим
__init.py__
import os
import glob
modules = glob.glob(os.path.dirname(__file__)+"/*.py")
__all__ = [ os.path.basename(f)[:-3] for f in modules]
Это работает, чтобы импортировать все модули. Но я не уверен, как узнать, какие функции в локальной области были из импорта и как мне получить к ним доступ? Эти модули могут меняться, и я в основном хочу отправить данные в импортированные функции-загадки.
Мысли о том, как это сделать (с Python 2.7.6)?
Чтобы расширить то, что я делаю, я использую фаззер AFL для фаззинга импортированной функции. Это будет только один файл с одним определением функции для этого проекта. Вот какой-то ужасный псевдокод. Затем в module.func мне нужно выяснить, как получить доступ к любой импортированной функции.
import sys
import os
sys.path.append('..')
from binary import *
def main():
s = sys.stdin.read()
try:
module.func(s)
except:
os._exit(0)
if __name__ == '__main__':
import afl
afl.start()
main()