我正在构建一个类似于 Mathwork 的 Simulink 或 Tanner-Spice 的系统,其中用户使用可用的运算符定义函数。然后我需要运行该函数并将响应返回给用户。我正在使用 Javascript 进行 UI 交互。在内部,用户定义函数 (UDF) 被捕获为 JSON 并传递到解析此 JSON 的 Python 服务器。
我的问题是,我现在如何运行这个 UDF?我不担心恶意用户利用这种能力进行黑客攻击,因为我所有的用户都是值得信赖的。
我认为的一种方法是将 UDF 作为 python 脚本写入磁盘,然后运行 commands.getstatusoutput()。这里的问题是该函数可能需要多个输入,并且不可能传递这些输入。
我正在寻找的是能够动态加载新的 python 文件及其函数,并能够调用它们。
找到了一篇解释如何执行此操作的博客文章。我想问题是我没有使用正确的关键字进行搜索。
无论如何,David Janes 的博客在这里解释了如何动态加载 python 脚本。
如果有更好的方法来做我想做的事,我仍然会邀请你们发表评论并提出建议。
谢谢,尼克