使用Python编写一个粘贴python源代码就能运行的工具

Written by

in

文章目录
  • import wx import os import subprocess class MyFrame(wx.Frame): def __init__(self): super().__init__(parent=None, title=”Memo Save and Run”, size=(500, 400)) panel = wx.Panel(self) # 创建布局 vbox = wx.BoxSizer(wx.VERTICAL) # 创建Memo(多行文本框) self.memo = wx.TextCtrl(panel, style=wx.TE_MULTILINE, size=(480, 200)) vbox.Add(self.memo, proportion=1, flag=wx.EXPAND | wx.ALL, border=10) # 保存按钮 save_btn = wx.Button(panel, label=”保存”) save_btn.Bind(wx.EVT_BUTTON, self.on_save) vbox.Add(save_btn, flag=wx.ALIGN_CENTER | wx.ALL, border=5) # 运行按钮 run_btn = wx.Button(panel, label=”运行”) run_btn.Bind(wx.EVT_BUTTON, self.on_run) vbox.Add(run_btn, flag=wx.ALIGN_CENTER | wx.ALL, border=5) panel.SetSizer(vbox) # 保存路径 self.save_path = “output.py” # 指定保存路径 def on_save(self, event): # 获取Memo内容并保存到文件 content = self.memo.GetValue() try: with open(self.save_path, ‘w’, encoding=’utf-8′) as f: f.write(content) wx.MessageBox(f”文件已保存到 {self.save_path}”, “成功”) except Exception as e: wx.MessageBox(f”保存失败: {str(e)}”, “错误”) def on_run(self, event): # 使用python命令运行保存的py文件 if os.path.exists(self.save_path): try: result = subprocess.run([‘python’, self.save_path], capture_output=True, text=True) output = result.stdout + result.stderr wx.MessageBox(f”运行结果:n{output}”, “运行输出”) except Exception as e: wx.MessageBox(f”运行失败: {str(e)}”, “错误”) else: wx.MessageBox(“文件不存在,请先保存!”, “错误”) if __name__ == “__main__”: app = wx.App() frame = MyFrame() frame.Show() app.MainLoop()
  • 界面: 包含一个多行文本框(Memo),用于输入Python代码。 包含“保存”按钮,用于将Memo内容保存到指定路径(output.py)。 包含“运行”按钮,用于执行保存的Python脚本。 保存功能: 点击“保存”按钮,Memo中的内容会保存到self.save_path指定的文件(默认为output.py)。 保存成功或失败会弹出提示框。 运行功能: 点击“运行”按钮,使用subprocess.run调用python命令运行保存的output.py文件。 运行结果(标准输出和错误输出)会显示在弹出的消息框中。 如果文件不存在或运行失败,会显示错误提示。
  • 运行上述代码,出现GUI窗口。 在Memo中输入Python代码,例如: print(“Hello, wxPython!”) 点击“保存”按钮,内容会保存到output.py。 点击“运行”按钮,程序会执行output.py并显示输出(如Hello, wxPython!)。
  • 确保系统已安装Python并配置好环境变量,以便subprocess可以调用python命令。 保存路径output.py可根据需要修改为其他路径(如self.save_path = "C:/path/to/your/file.py")。 运行的脚本需要是合法的Python代码,否则会显示错误信息。 文件保存和运行时使用了utf-8编码,确保输入内容兼容。
  • 到此这篇关于使用Python编写一个粘贴python源代码就能运行的工具的文章就介绍到这了,更多相关Python源代码运行工具内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: Python实现自动运行代码的方法详解 Python脚本/代码的几种常见运行方式 一文详解如何用GPU来运行Python代码 没有安装Python的电脑运行Python代码教程
  • 目录
    • 源代码
    • 功能说明:
    • 使用方法:
    • 注意事项:
    • 运行结果

    import wx
    import os
    import subprocess
    
    class MyFrame(wx.Frame):
        def __init__(self):
            super().__init__(parent=None, title="Memo Save and Run", size=(500, 400))
            panel = wx.Panel(self)
            
            # 创建布局
            vbox = wx.BoxSizer(wx.VERTICAL)
            
            # 创建Memo(多行文本框)
            self.memo = wx.TextCtrl(panel, style=wx.TE_MULTILINE, size=(480, 200))
            vbox.Add(self.memo, proportion=1, flag=wx.EXPAND | wx.ALL, border=10)
            
            # 保存按钮
            save_btn = wx.Button(panel, label="保存")
            save_btn.Bind(wx.EVT_BUTTON, self.on_save)
            vbox.Add(save_btn, flag=wx.ALIGN_CENTER | wx.ALL, border=5)
            
            # 运行按钮
            run_btn = wx.Button(panel, label="运行")
            run_btn.Bind(wx.EVT_BUTTON, self.on_run)
            vbox.Add(run_btn, flag=wx.ALIGN_CENTER | wx.ALL, border=5)
            
            panel.SetSizer(vbox)
            
            # 保存路径
            self.save_path = "output.py"  # 指定保存路径
            
        def on_save(self, event):
            # 获取Memo内容并保存到文件
            content = self.memo.GetValue()
            try:
                with open(self.save_path, 'w', encoding='utf-8') as f:
                    f.write(content)
                wx.MessageBox(f"文件已保存到 {self.save_path}", "成功")
            except Exception as e:
                wx.MessageBox(f"保存失败: {str(e)}", "错误")
        
        def on_run(self, event):
            # 使用python命令运行保存的py文件
            if os.path.exists(self.save_path):
                try:
                    result = subprocess.run(['python', self.save_path], capture_output=True, text=True)
                    output = result.stdout + result.stderr
                    wx.MessageBox(f"运行结果:n{output}", "运行输出")
                except Exception as e:
                    wx.MessageBox(f"运行失败: {str(e)}", "错误")
            else:
                wx.MessageBox("文件不存在,请先保存!", "错误")
    
    if __name__ == "__main__":
        app = wx.App()
        frame = MyFrame()
        frame.Show()
        app.MainLoop()
    

    1. 界面

      • 包含一个多行文本框(Memo),用于输入Python代码。
      • 包含“保存”按钮,用于将Memo内容保存到指定路径(output.py)。
      • 包含“运行”按钮,用于执行保存的Python脚本。
    2. 保存功能

      • 点击“保存”按钮,Memo中的内容会保存到self.save_path指定的文件(默认为output.py)。
      • 保存成功或失败会弹出提示框。
    3. 运行功能

      • 点击“运行”按钮,使用subprocess.run调用python命令运行保存的output.py文件。
      • 运行结果(标准输出和错误输出)会显示在弹出的消息框中。
      • 如果文件不存在或运行失败,会显示错误提示。

    1. 运行上述代码,出现GUI窗口。
    2. 在Memo中输入Python代码,例如:
    print("Hello, wxPython!")
    
    1. 点击“保存”按钮,内容会保存到output.py
    2. 点击“运行”按钮,程序会执行output.py并显示输出(如Hello, wxPython!)。

    • 确保系统已安装Python并配置好环境变量,以便subprocess可以调用python命令。
    • 保存路径output.py可根据需要修改为其他路径(如self.save_path = "C:/path/to/your/file.py")。
    • 运行的脚本需要是合法的Python代码,否则会显示错误信息。
    • 文件保存和运行时使用了utf-8编码,确保输入内容兼容。

    到此这篇关于使用Python编写一个粘贴python源代码就能运行的工具的文章就介绍到这了,更多相关Python源代码运行工具内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • Python实现自动运行代码的方法详解
    • Python脚本/代码的几种常见运行方式
    • 一文详解如何用GPU来运行Python代码
    • 没有安装Python的电脑运行Python代码教程

    站内搜索