Python 如何让用户在这个范围内定义自己的插件,并使其对自己可见?

Python 如何让用户在这个范围内定义自己的插件,并使其对自己可见?,python,flask,Python,Flask,我正在使用flask构建一个web应用程序,它保存所有输入消息(用户向其发送xml消息),并找到正确的插件进行响应并将响应返回给用户,该应用程序提供了基本插件,但我希望用户在我定义的API下编写自己的插件,以下是架构: plugins common_plugins1.py common_plugins2.py templates actions myapp.py 但我面临几个问题: 我只希望用户调用他的插件而不是其他插件,其他插件对他来说是不可见的 我只希

我正在使用flask构建一个web应用程序,它保存所有输入消息(用户向其发送xml消息),并找到正确的插件进行响应并将响应返回给用户,该应用程序提供了基本插件,但我希望用户在我定义的API下编写自己的插件,以下是架构:

plugins     
   common_plugins1.py
   common_plugins2.py  
templates   
actions   
myapp.py
但我面临几个问题:

  • 我只希望用户调用他的插件而不是其他插件,其他插件对他来说是不可见的
  • 我只希望用户调用我定义的函数或模块
  • 我想让它具有可伸缩性
  • 是否可以让用户上传他们用python编写的插件?并使应用程序动态加载它

    谢谢你的帮助

    以下是插件示例:

    #coding: utf-8
    import somemodule 
    from somemodule import *
    
    def do(dmessage,context,default,**option):
        import re   
        try:
            _l=default.split('%|placeholder|%')
            message=ModuleRequestVoice(dmessage)
            r=ModuleResponseMusic()
            return r.render(message,_l[0],_l[1],_l[2],_l[2])
        except Exception,e:
            print 'match voice error:%s'%e
            return False
    

    您将允许用户上传任何python文件,这些文件将在您的应用程序内的服务器上执行,而您的用户正在运行该应用程序?它是suicide@Tigra是的,当我真正制定计划时,我发现>_