如何在运行时运行动态python脚本?

时间:2012-01-31 08:46:26

标签: python subprocess pypy

我正在尝试解决两个问题:

  1. 首先如何在沙箱模式下运行存储在DB中的python脚本作为BLOB(可能使用PyPy沙箱)?
  2. 其次,如何从代码模板生成脚本本身(代码模板在DB中保存为BLOB)并使用所需数据提供?
  3. 对此的任何帮助都会很棒。感谢。

2 个答案:

答案 0 :(得分:0)

  1. 您可以使用eval()。但要注意安全漏洞!
  2. 请发布您的模板代码。

答案 1 :(得分:0)

compile(source, filename, mode[, flags[, dont_inherit]])

将源代码编译为代码或AST对象。代码对象可以由exec语句执行,也可以通过调用eval()来评估。 source可以是字符串或AST对象。有关如何使用AST对象的信息,请参阅ast模块文档。