源代码
- 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内容保存到指定路径()。
- 包含“运行”按钮,用于执行保存的Python脚本。
- 保存功能:
- 点击“保存”按钮,Memo中的内容会保存到指定的文件(默认为)。
- 保存成功或失败会弹出提示框。
- 运行功能:
- 点击“运行”按钮,使用调用命令运行保存的文件。
- 运行结果(标准输出和错误输出)会显示在弹出的消息框中。
- 如果文件不存在或运行失败,会显示错误提示。
使用方法:
- 运行上述代码,出现GUI窗口。
- 在Memo中输入Python代码,例如:
- print("Hello, wxPython!")
复制代码
- 点击“保存”按钮,内容会保存到。
- 点击“运行”按钮,程序会执行并显示输出(如)。
注意事项:
- 确保系统已安装Python并配置好环境变量,以便可以调用命令。
- 保存路径可根据需要修改为其他路径(如
- self.save_path = "C:/path/to/your/file.py"
复制代码 )。
- 运行的脚本需要是合法的Python代码,否则会显示错误信息。
- 文件保存和运行时使用了编码,确保输入内容兼容。
运行结果
到此这篇关于使用Python编写一个粘贴python源代码就能运行的工具的文章就介绍到这了,更多相关Python源代码运行工具内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
来源:https://www.jb51.net/python/339618gma.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |