From 4904e2901c7f053231d87e60d698b7947a4de436 Mon Sep 17 00:00:00 2001 From: Jake Date: Sun, 23 Mar 2025 22:34:54 +0800 Subject: [PATCH] added innerhtml linebreaks after every print to console --- index.html | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/index.html b/index.html index 00ac6c9..d5056aa 100644 --- a/index.html +++ b/index.html @@ -37,22 +37,24 @@ // Redirect Python's stdout and stderr to the console area pyodide.runPython(` - import sys - import asyncio - from js import document +import sys +import asyncio +from js import document - class ConsoleOutput: - def write(self, text): - console = document.getElementById("console") - console.textContent += text - console.scrollTop = console.scrollHeight # Auto-scroll to bottom +class ConsoleOutput: + def write(self, text): + console = document.getElementById("console") + + console.innerHTML += text.replace("\\n", "
") # Convert newlines to
+ console.scrollTop = console.scrollHeight # Auto-scroll to bottom - def flush(self): - pass + def flush(self): + pass + +sys.stdout = ConsoleOutput() +sys.stderr = ConsoleOutput() +`); - sys.stdout = ConsoleOutput() - sys.stderr = ConsoleOutput() - `); return pyodide; } @@ -80,8 +82,7 @@ return result; } - // Example usage - const input = " Line 1\n Line 2\nLine 3"; + const output = addExtraLineWithIndent(code, "await asyncio.sleep(0.01)"); console.log(output);