使用Python编写一个粘贴python源代码就能运行的工具!
使用Python编写一个粘贴python源代码就能运行的工具!
作者:winfredzhang
以下是一个使用wxPython模块创建带有Memo(文本输入框)和保存按钮的GUI程序示例,点击保存按钮后将Memo内容保存到指定路径下的文件,并提供运行按钮以执行指定的Python脚本,需要的朋友可以参考下
源代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
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
)。 - 保存成功或失败会弹出提示框。
- 点击“保存”按钮,Memo中的内容会保存到
- 运行功能:
- 点击“运行”按钮,使用
subprocess.run
调用python
命令运行保存的output.py
文件。 - 运行结果(标准输出和错误输出)会显示在弹出的消息框中。
- 如果文件不存在或运行失败,会显示错误提示。
- 点击“运行”按钮,使用
使用方法:
- 运行上述代码,出现GUI窗口。
- 在Memo中输入Python代码,例如:
1
|
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源代码就能运行的工具的文章就介绍到这了。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需129元,即可下载本站文章涉及的文件和软件。
共有 0 条评论