python / app.py
xcx0902's picture
Update app.py
0a4dae4 verified
raw
history blame contribute delete
669 Bytes
import gradio as gr
import io
import sys
import os
class PersistentRunner:
def __init__(self):
self.globals = {}
def run(self, code):
old_stdout = sys.stdout
sys.stdout = buffer = io.StringIO()
try:
exec(code, self.globals)
except Exception as e:
print(f"Error: {e}")
finally:
sys.stdout = old_stdout
return buffer.getvalue()
runner = PersistentRunner()
def run(code):
if code.startswith("!"):
os.system(code[1:])
else:
return runner.run(code.replace("\\n", "\n"))
demo = gr.Interface(fn=run, inputs="text", outputs="text")
demo.launch()