欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Python編寫(xiě)一個(gè)粘貼python源代碼就能運(yùn)行的工具

 更新時(shí)間:2025年04月15日 09:39:50   作者:winfredzhang  
以下是一個(gè)使用wxPython模塊創(chuàng)建帶有Memo(文本輸入框)和保存按鈕的GUI程序示例,點(diǎn)擊保存按鈕后將Memo內(nèi)容保存到指定路徑下的文件,并提供運(yùn)行按鈕以執(zhí)行指定的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)
        
        # 創(chuàng)建布局
        vbox = wx.BoxSizer(wx.VERTICAL)
        
        # 創(chuàng)建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)
        
        # 運(yùn)行按鈕
        run_btn = wx.Button(panel, label="運(yùn)行")
        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內(nèi)容并保存到文件
        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)}", "錯(cuò)誤")
    
    def on_run(self, event):
        # 使用python命令運(yùn)行保存的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"運(yùn)行結(jié)果:\n{output}", "運(yùn)行輸出")
            except Exception as e:
                wx.MessageBox(f"運(yùn)行失敗: {str(e)}", "錯(cuò)誤")
        else:
            wx.MessageBox("文件不存在,請(qǐng)先保存!", "錯(cuò)誤")

if __name__ == "__main__":
    app = wx.App()
    frame = MyFrame()
    frame.Show()
    app.MainLoop()

功能說(shuō)明:

  1. 界面

    • 包含一個(gè)多行文本框(Memo),用于輸入Python代碼。
    • 包含“保存”按鈕,用于將Memo內(nèi)容保存到指定路徑(output.py)。
    • 包含“運(yùn)行”按鈕,用于執(zhí)行保存的Python腳本。
  2. 保存功能

    • 點(diǎn)擊“保存”按鈕,Memo中的內(nèi)容會(huì)保存到self.save_path指定的文件(默認(rèn)為output.py)。
    • 保存成功或失敗會(huì)彈出提示框。
  3. 運(yùn)行功能

    • 點(diǎn)擊“運(yùn)行”按鈕,使用subprocess.run調(diào)用python命令運(yùn)行保存的output.py文件。
    • 運(yùn)行結(jié)果(標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出)會(huì)顯示在彈出的消息框中。
    • 如果文件不存在或運(yùn)行失敗,會(huì)顯示錯(cuò)誤提示。

使用方法:

  1. 運(yùn)行上述代碼,出現(xiàn)GUI窗口。
  2. 在Memo中輸入Python代碼,例如:
print("Hello, wxPython!")
  1. 點(diǎn)擊“保存”按鈕,內(nèi)容會(huì)保存到output.py。
  2. 點(diǎn)擊“運(yùn)行”按鈕,程序會(huì)執(zhí)行output.py并顯示輸出(如Hello, wxPython!)。

注意事項(xiàng):

  • 確保系統(tǒng)已安裝Python并配置好環(huán)境變量,以便subprocess可以調(diào)用python命令。
  • 保存路徑output.py可根據(jù)需要修改為其他路徑(如self.save_path = "C:/path/to/your/file.py")。
  • 運(yùn)行的腳本需要是合法的Python代碼,否則會(huì)顯示錯(cuò)誤信息。
  • 文件保存和運(yùn)行時(shí)使用了utf-8編碼,確保輸入內(nèi)容兼容。

運(yùn)行結(jié)果

到此這篇關(guān)于使用Python編寫(xiě)一個(gè)粘貼python源代碼就能運(yùn)行的工具的文章就介紹到這了,更多相關(guān)Python源代碼運(yùn)行工具內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python實(shí)現(xiàn)數(shù)組平移K位問(wèn)題

    python實(shí)現(xiàn)數(shù)組平移K位問(wèn)題

    這篇文章主要介紹了python實(shí)現(xiàn)數(shù)組平移K位問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python+OpenCV實(shí)現(xiàn)信用卡數(shù)字識(shí)別的方法詳解

    Python+OpenCV實(shí)現(xiàn)信用卡數(shù)字識(shí)別的方法詳解

    這篇文章主要介紹了如何利用python?opencv實(shí)現(xiàn)信用卡數(shù)字識(shí)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-09-09
  • Python讀csv文件去掉一列后再寫(xiě)入新的文件實(shí)例

    Python讀csv文件去掉一列后再寫(xiě)入新的文件實(shí)例

    下面小編就為大家分享一篇Python讀csv文件去掉一列后再寫(xiě)入新的文件實(shí)例,具有很的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • Python使用迭代器打印螺旋矩陣的思路及代碼示例

    Python使用迭代器打印螺旋矩陣的思路及代碼示例

    用Python的itertools模塊來(lái)創(chuàng)建具有迭代功能的函數(shù)十分具有技巧性,這里我們就來(lái)看一下借助itertools模塊、Python使用迭代器打印螺旋矩陣的思路及代碼示例
    2016-07-07
  • Python實(shí)現(xiàn)APP自動(dòng)化發(fā)微信群消息的示例代碼

    Python實(shí)現(xiàn)APP自動(dòng)化發(fā)微信群消息的示例代碼

    本文主要介紹了Python實(shí)現(xiàn)APP自動(dòng)化發(fā)微信群消息的示例代,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下碼
    2022-01-01
  • Python中的numpy數(shù)組維度擴(kuò)展詳解

    Python中的numpy數(shù)組維度擴(kuò)展詳解

    這篇文章主要介紹了Python中的numpy數(shù)組維度擴(kuò)展詳解,在numpy數(shù)組中,切片功能非常常用,例如x[:]表示取x的所有元素,可以通過(guò)在切片中增加None或者np.newaxis實(shí)現(xiàn),它們的作用就是在相應(yīng)的位置上增加一個(gè)維度,在這個(gè)維度上只有一個(gè)元素,需要的朋友可以參考下
    2023-09-09
  • Python可視化神器pyecharts繪制水球圖

    Python可視化神器pyecharts繪制水球圖

    這篇文章主要介紹了Python可視化神器pyecharts繪制水球圖,水球圖首先是動(dòng)態(tài)的效果,像水流一樣波動(dòng),所以看起來(lái)比較的舒服,一般用于業(yè)務(wù)里面的完成率,其實(shí)和之前的儀表盤(pán)有點(diǎn)類似
    2022-07-07
  • python用pyinstaller封裝exe雙擊后瘋狂閃退解決辦法

    python用pyinstaller封裝exe雙擊后瘋狂閃退解決辦法

    本文主要介紹了python用pyinstaller封裝exe雙擊后瘋狂閃退解決辦法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Python基于PycURL實(shí)現(xiàn)POST的方法

    Python基于PycURL實(shí)現(xiàn)POST的方法

    這篇文章主要介紹了Python基于PycURL實(shí)現(xiàn)POST的方法,涉及Python實(shí)現(xiàn)curl傳遞post數(shù)據(jù)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • Python字符串格式化%s%d%f詳解

    Python字符串格式化%s%d%f詳解

    這篇文章主要介紹了Python字符串格式化%s%d%f詳解,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02

最新評(píng)論