簡體   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