chore: execute js/py code

This commit is contained in:
sigoden
2024-10-26 08:32:36 +08:00
parent e1a26cb4f2
commit 602ca0535e
2 changed files with 6 additions and 6 deletions
+3 -3
View File
@@ -5,15 +5,15 @@
* @param {Args} args * @param {Args} args
*/ */
exports.run = function run({ code }) { exports.run = function run({ code }) {
let log = ""; let output = "";
const oldStdoutWrite = process.stdout.write.bind(process.stdout); const oldStdoutWrite = process.stdout.write.bind(process.stdout);
process.stdout.write = (chunk, _encoding, callback) => { process.stdout.write = (chunk, _encoding, callback) => {
log += chunk; output += chunk;
if (callback) callback(); if (callback) callback();
}; };
eval(code); eval(code);
process.stdout.write = oldStdoutWrite; process.stdout.write = oldStdoutWrite;
return log; return output;
} }
+3 -3
View File
@@ -7,10 +7,10 @@ def run(code: str):
code: Python code to execute, such as `print("hello world")` code: Python code to execute, such as `print("hello world")`
""" """
old_stdout = sys.stdout old_stdout = sys.stdout
new_stdout = io.StringIO() output = io.StringIO()
sys.stdout = new_stdout sys.stdout = output
exec(code) exec(code)
sys.stdout = old_stdout sys.stdout = old_stdout
return new_stdout.getvalue() return output.getvalue()