我的目标是创建一个使用python和flask的网页。我希望能够在这个网页中输入一些命令,将它们提交给将在python解释器中执行命令的flask。然后,Flask将检索结果并将其发送回网页进行演示。
如何做到这一点?我目前能够执行unix shell命令,但在我的生活中无法弄清楚如何将命令发送到python解释器并检索结果。
我想我应该澄清目的。这是我工作的公司的内部Web应用程序。只有员工才能在我们的网络上访问它,并且只有在执行了正确的身份验证之后才能访问它。员工需要一种方法,使用他们通过Web浏览器登录的特定计算机具有交互式shell。
解决方案:
我找到了一个很好的模块名称Pexpect,它完全符合我的要求。感谢您提出的所有建议。
答案 0 :(得分:1)
以下代码使用flask和pexpect模块来调用python解释器。
@app.route('/console')
def console():
import pexpect
child = pexpect.spawn('python')
child.expect('\n>>>')
child.sendline('import os')
child.expect('\n>>>')
答案 1 :(得分:0)
好吧,你可以像调用shell脚本一样调用python,并使用-c选项将python代码传递给它。见http://docs.python.org/2/using/cmdline.html
然而,这是令人难以置信的不安全因素,我不建议在网络应用程序中进行此操作!
如果您对此进行了设置,请阅读Python http://docs.python.org/2/library/restricted.html
中的受限执行答案 2 :(得分:0)