我正在尝试从目录中动态导入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()