我正在开发一个需要用户输入 python 代码才能在我的服务器上执行的 Web 服务(我们检查了代码注入)。我必须导入一个相当大的模块,所以我想确保我没有启动 python 并且每次运行时都从头开始导入模块(大约需要 4-6 秒)。
为此,我计划创建一个 python (3.2) 守护程序,将用户输入代码作为模块导入,执行它,然后删除/垃圾收集该模块。我需要确保该模块完全从 RAM 中消失,因为此过程将持续到服务器重新启动。我读过很多东西说这在 python 中是一件非常困难的事情。
做这个的最好方式是什么?使用 exec 用用户输入代码(用于变量范围)定义一个函数,然后执行该函数并以某种方式删除该函数会更好吗?或者有没有更好的方法来完成我错过的这个过程?