在stdin中流数据;阻止提示用户输入

时间:2012-03-15 13:10:48

标签: python django

使用Python 2.7

情况: 我有一些Python代码(用户提交的)我需要在我的服务器上运行(在Django上运行)并返回结果。 (不要担心安全风险,首先需要通过安全检查点。)

假设python代码存储在变量newCode

我执行以下操作:

code = compile(newCode, '<string>', 'exec')
exec code

现在假设newCode片段是:

a = raw_input('wa ')
print a

此时服务器将冻结。

任何程序的输入都存储在数据库中。它应该从数据库读取数据并在调用input或raw_input时插入程序。输入过程应该是自动化的。

在运行exec之前以任何方式将输入流式传输到stdin并让它在执行期间读取它?

Pleeaase帮助!提前致谢。 :)

1 个答案:

答案 0 :(得分:0)

sys.stdin替换为包含要阅读的文字的StringIO