51.Python实现在线运行代码工具

今天学长通过 Python 实现了了一个简单的在线运行 Python 代码的小工具。

代码实现

import tkinter as tk
from tkinter import scrolledtext
import sys
import io

class PythonIDE:
    def __init__(self, root):
        self.root = root
        self.root.title("Python Online IDE")

        # 创建输入框
        self.input_label = tk.Label(root, text="Enter your Python code:")
        self.input_label.pack(pady=5)
        self.input_text = scrolledtext.ScrolledText(root, width=80, height=15)
        self.input_text.pack(pady=5)

        # 创建运行按钮
        self.run_button = tk.Button(root, text="Run", command=self.run_code)
        self.run_button.pack(pady=5)

        # 创建输出框
        self.output_label = tk.Label(root, text="Output:")
        self.output_label.pack(pady=5)
        self.output_text = scrolledtext.ScrolledText(root, width=80, height=15)
        self.output_text.pack(pady=5)

    def run_code(self):
        # 获取用户输入的代码
        user_code = self.input_text.get("1.0", tk.END)

        # 重定向标准输出和错误输出
        old_stdout = sys.stdout
        old_stderr = sys.stderr
        redirected_output = io.StringIO()
        sys.stdout = redirected_output
        sys.stderr = redirected_output

        # 尝试执行代码
        try:
            exec(user_code, {})
        except Exception as e:
            print(f"Error: {e}")

        # 恢复标准输出和错误输出
        sys.stdout = old_stdout
        sys.stderr = old_stderr

        # 获取输出结果并显示
        output = redirected_output.getvalue()
        self.output_text.delete("1.0", tk.END)
        self.output_text.insert(tk.END, output)

if __name__ == "__main__":
    root = tk.Tk()
    app = PythonIDE(root)
    root.mainloop()

运行结果

51.Python实现在线运行代码工具

结论

通过本文的介绍,你学会了如何使用 Python 实现一个在线运行 Python 代码的小工具。


原文始发于微信公众号(学长工具库):51.Python实现在线运行代码工具

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/305582.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!