繁体   English   中英

我将如何向我的网站添加python代码运行器

[英]How would I go about adding a python code runner to my website

好吧,基本上,我拥有这个网站: https : //quarkedit.ga ,该网站现在具有使用Ace的HTML / CSS / JS编辑器。 现在我需要的是我也有一种python语言,但是我不知道如何制作终端或显示任何内容。 我正在寻找类似https://repl.it的python东西。 只是想知道我是否可以使用任何API,例如

output = evaluatePythonCode("print(\"test\")");

我基本上想知道并找出这些东西:

  • 我可以使用哪些API来执行此操作?
  • 语法是什么?
  • 我可以使用纯HTML / CSS / JS来执行此操作,还是必须使用JS库?

我已经完成了代码的输入,并且语法高亮显示了(Ace),但是我需要的是:

  • 执行
  • 输出量

    所有帮助将不胜感激,如果这个问题不合适,或者只是评论,我将其删除。

谢谢!

您有两种选择:要么在浏览器中评估Python,要么将其发布回可以生成Python进程来评估代码的服务器。

对于前者, 有一些通过JavaScript通过Python实现的解决方案 ,我个人不能保证,但是这是更快的选择,并且不需要您有服务器来执行代码。 PyPy.js在浏览器中有一个REPL可供使用,因此值得一看。

对于服务器端执行,有很多方法,所有方法都取决于服务器技术,所使用的Python解释器,如何处理安全性/ DOS等。

希望这可以帮助您入门。

首先创建一个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和子进程:

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

返回代码的输出。 请告诉我这是否无效。 谢谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM