好吧,基本上,我拥有这个网站:https://quarkedit.ga现在有一个使用Ace的HTML / CSS / JS编辑器。现在我需要的是我也有一个python语言,但我不知道如何制作终端或任何显示。我正在寻找类似https://repl.it的python之类的东西。只是想知道是否有任何我可以使用的API,如
output = evaluatePythonCode("print(\"test\")");
我基本上想知道并找出这些东西:
我有完成代码的输入,以及语法高亮(Ace)但我需要的是:
输出
我们将非常感谢所有帮助,如果这个问题不恰当或只是评论,我会将其删除。
谢谢!
答案 0 :(得分:1)
您有两个选择:在浏览器中评估Python或将其发回给可以生成Python流程以评估代码的服务器。
对于前者there are a few Python-implemented-via-JavaScript solutions,我无法亲自担保,但这将是更快的选择,并且不会要求您使用服务器来执行代码。 PyPy.js在浏览器中有一个可以播放的REPL,因此值得一看。
对于服务器端执行,有很多方法,这些方法都取决于您的服务器技术,您使用的Python解释器,您将如何处理安全性/ DOS等。
希望这有助于您入门。
答案 1 :(得分:1)
首先创建一个file.py来编写代码并执行。
您可以使用javascript将XMLHttpRequest
发送到python文件
var xhr = new XMLHttpRequest();
xhr.open("POST", "exec?text=" + code, true);
xhr.onload = function(e) {
var output = JSON.parse(xhr.response);
// do something with the output
}
xhr.send();
在python文件中使用Flask和subprocess:
import subprocess
from flask import Flask, request
app = Flask(__name__)
@app.route('/exec', methods=['POST']) // route app to /exec
def result():
with open('file.py', 'w') as code: // 'w' means to override existing code in the file
code.write(request['code']) // write the code
return subprocess.check_output(["python", "file.py"]) // execute the code using the terminal
返回代码的输出。如果这不起作用,请告诉我。谢谢!