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

 更新时间:2025年04月15日 09:39:50   作者:winfredzhang  
以下是一个使用wxPython模块创建带有Memo(文本输入框)和保存按钮的GUI程序示例,点击保存按钮后将Memo内容保存到指定路径下的文件,并提供运行按钮以执行指定的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源代码运行工具内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python3中类的继承以及self和super的区别详解

    python3中类的继承以及self和super的区别详解

    今天小编就为大家分享一篇python3中类的继承以及self和super的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python结合AI实现数据可视化全流程

    Python结合AI实现数据可视化全流程

    这篇文章主要介绍了Python结合AI实现数据可视化全流程,Python有pandas、Matplotlib等库提供强大的数据处理和基础可视化能力,而AI技术则赋予其智能分析特性,需要的朋友可以参考下
    2026-02-02
  • python实现井字棋游戏

    python实现井字棋游戏

    这篇文章主要为大家详细介绍了python实现井字棋游戏的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • Python常见Iterable可迭代对象(建议收藏)

    Python常见Iterable可迭代对象(建议收藏)

    本文介绍了Python中常见的可迭代对象,包括字符串、列表、列表生成式、range对象、元组、字典、字典生成式、集合、集合生成式、生成器、生成器函数和迭代器,感兴趣的可以了解一下
    2025-12-12
  • 详解在Python中处理异常的教程

    详解在Python中处理异常的教程

    这篇文章主要介绍了详解在Python中处理异常的教程,是Python入门中的基础知识,需要的朋友可以参考下
    2015-05-05
  • python 中赋值,深拷贝,浅拷贝的区别

    python 中赋值,深拷贝,浅拷贝的区别

    这篇文章主要介绍了python 中赋值,深拷贝,浅拷贝的区别,下文利用实例对三者进行详细的解析,具有一的的参考价值,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-03-03
  • PyCharm 安装与使用配置教程(windows,mac通用)

    PyCharm 安装与使用配置教程(windows,mac通用)

    很多小伙伴下载安装PyCharm后不会使用,这篇文章详细介绍了PyCharm安装与使用教程(windows,mac通用),需要的朋友可以参考下
    2021-05-05
  • caffe的python接口生成solver文件详解学习

    caffe的python接口生成solver文件详解学习

    这篇文章主要为大家介绍了caffe的python接口生成solver文件详解学习示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Python异常处理知识点总结

    Python异常处理知识点总结

    在本篇文章中小编给大家分享了关于Python异常处理的相关知识点以及对应的实例内容,需要的朋友们学习下。
    2019-02-02
  • Python实现中英文文本朗读的三种常用方法

    Python实现中英文文本朗读的三种常用方法

    本文介绍了Python实现中英文文本朗读的三种常用方法,1,pyttsx3:基于系统语音引擎,无需联网,可调节语速和音量,但语音较机械;2,gTTS:利用Google API生成高质量语音,需联网并生成临时文件;3, edge-tts:采用微软Azure,需要的朋友可以参考下
    2026-04-04

最新评论