最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python+wxPython實(shí)現(xiàn)合并多個(gè)文本文件

 更新時(shí)間:2023年08月21日 09:18:50   作者:winfredzhang  
在?Python?編程中,我們經(jīng)常需有時(shí)候,我們可能需要將多個(gè)文本文件合并成一個(gè)文件,要處理文本文件,本文就來(lái)介紹下如何使用?wxPython?模塊編寫(xiě)一個(gè)簡(jiǎn)單的程序,能夠讓用戶選擇多個(gè)文本文件,感興趣的可以了解下

在 Python 編程中,我們經(jīng)常需要處理文本文件。有時(shí)候,我們可能需要將多個(gè)文本文件合并成一個(gè)文件,以便進(jìn)行進(jìn)一步的處理或分析。在本文中,我們將介紹如何使用 wxPython 模塊編寫(xiě)一個(gè)簡(jiǎn)單的程序,能夠讓用戶選擇多個(gè)文本文件,并按選擇的先后順序?qū)⑺鼈兒喜⒊梢粋€(gè)文件。

使用 wxPython 模塊合并多個(gè)文本文件的博客。以下是一篇示例博客:C:\pythoncode\blog\txtmerge.py

效果圖

準(zhǔn)備工作

首先,我們需要安裝 wxPython 模塊。您可以使用以下命令來(lái)安裝:

pip install wxPython

安裝完成后,我們可以開(kāi)始編寫(xiě)程序。

編寫(xiě)程序

我們將使用 wxPython 模塊創(chuàng)建一個(gè)簡(jiǎn)單的 GUI 程序。用戶可以通過(guò)該程序選擇要合并的文本文件,并按選擇的先后順序?qū)⑺鼈兒喜⒊梢粋€(gè)文件。

以下是程序的代碼:

import wx
import datetime
import os
class MergeApp(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, title="文檔合并工具", size=(400, 300))
        self.panel = wx.Panel(self)
        self.file_list = wx.ListBox(self.panel, style=wx.LB_MULTIPLE)
        self.merge_button = wx.Button(self.panel, label="合并文檔")
        self.merge_button.Bind(wx.EVT_BUTTON, self.on_merge)
        self.sizer = wx.BoxSizer(wx.VERTICAL)
        self.sizer.Add(self.file_list, 1, wx.EXPAND | wx.ALL, 10)
        self.sizer.Add(self.merge_button, 0, wx.ALIGN_CENTER | wx.ALL, 10)
        self.panel.SetSizer(self.sizer)
    def on_merge(self, event):
        selected_files = self.file_list.GetSelections()
        if len(selected_files) < 2:
            wx.MessageBox("請(qǐng)選擇至少兩個(gè)文檔進(jìn)行合并!", "錯(cuò)誤", wx.OK | wx.ICON_ERROR)
            return
        merged_content = ""
        for index in selected_files:
            file_path = self.file_list.GetString(index)
            with open(file_path, "r", encoding="utf-8") as file:
                merged_content += file.read()
        merge_datetime = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
        merge_filename = f"merge_{merge_datetime}.txt"
        with open(merge_filename, "w", encoding="utf-8") as merged_file:
            merged_file.write(merged_content)
        wx.MessageBox(f"文檔合并完成,合并文檔保存為 {merge_filename}!", "完成", wx.OK | wx.ICON_INFORMATION)
        self.Close()
if __name__ == "__main__":
    app = wx.App()
    frame = MergeApp()
    wildcard = "Text files (*.txt)|*.txt"
    dialog = wx.FileDialog(None, message="請(qǐng)選擇要合并的文檔", wildcard=wildcard, style=wx.FD_OPEN | wx.FD_MULTIPLE)
    if dialog.ShowModal() == wx.ID_OK:
        file_paths = dialog.GetPaths()
        frame.file_list.AppendItems(file_paths)
    dialog.Destroy()
    frame.Show()
    app.MainLoop()

運(yùn)行程序

保存上述代碼為 merge_app.py 文件。然后,在命令行中運(yùn)行以下命令啟動(dòng)程序:

python merge_app.py

程序窗口將顯示出來(lái),您可以點(diǎn)擊 “瀏覽” 按鈕選擇要合并的文本文件。選擇的文件將顯示在列表框中。選擇至少兩個(gè)文件后,點(diǎn)擊 “合并文檔” 按鈕,程序?qū)催x擇的先后順序?qū)⑽募?nèi)容合并成一個(gè)新的文本文件,并在彈出消息框中顯示合并完成的信息。

全部代碼

import wx
import datetime
import os
class MergeApp(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, title="文檔合并工具", size=(400, 300))
        self.panel = wx.Panel(self)
        self.file_list = wx.ListBox(self.panel, style=wx.LB_MULTIPLE)
        self.merge_button = wx.Button(self.panel, label="合并文檔")
        self.merge_button.Bind(wx.EVT_BUTTON, self.on_merge)
        self.sizer = wx.BoxSizer(wx.VERTICAL)
        self.sizer.Add(self.file_list, 1, wx.EXPAND | wx.ALL, 10)
        self.sizer.Add(self.merge_button, 0, wx.ALIGN_CENTER | wx.ALL, 10)
        self.panel.SetSizer(self.sizer)
    def on_merge(self, event):
        selected_files = self.file_list.GetSelections()
        if len(selected_files) < 2:
            wx.MessageBox("請(qǐng)選擇至少兩個(gè)文檔進(jìn)行合并!", "錯(cuò)誤", wx.OK | wx.ICON_ERROR)
            return
        merged_content = ""
        for index in selected_files:
            file_path = self.file_list.GetString(index)
            with open(file_path, "r", encoding="utf-8") as file:
                merged_content += file.read()
        merge_datetime = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
        merge_filename = f"merge_{merge_datetime}.txt"
        with open(merge_filename, "w", encoding="utf-8") as merged_file:
            merged_file.write(merged_content)
        wx.MessageBox(f"文檔合并完成,合并文檔保存為 {merge_filename}!", "完成", wx.OK | wx.ICON_INFORMATION)
        self.Close()
if __name__ == "__main__":
    app = wx.App()
    frame = MergeApp()
    wildcard = "Text files (*.txt)|*.txt"
    dialog = wx.FileDialog(None, message="請(qǐng)選擇要合并的文檔", wildcard=wildcard, style=wx.FD_OPEN | wx.FD_MULTIPLE)
    if dialog.ShowModal() == wx.ID_OK:
        file_paths = dialog.GetPaths()
        frame.file_list.AppendItems(file_paths)
    dialog.Destroy()
    frame.Show()
    app.MainLoop()

總結(jié)

通過(guò)使用 wxPython 模塊,我們編寫(xiě)了一個(gè)簡(jiǎn)單的程序,可以方便地合并多個(gè)文本文件。該程序提供了一個(gè)用戶友好的界面,使用戶能夠輕松選擇文件并進(jìn)行合并操作。您可以根據(jù)自己的需求對(duì)代碼進(jìn)行修改和擴(kuò)展,以滿足更具體的要求。

到此這篇關(guān)于Python+wxPython實(shí)現(xiàn)合并多個(gè)文本文件的文章就介紹到這了,更多相關(guān)Python wxPython合并文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 文件操作之讀取文件(read),文件指針與寫(xiě)入文件(write),文件打開(kāi)方式示例

    Python 文件操作之讀取文件(read),文件指針與寫(xiě)入文件(write),文件打開(kāi)方式示例

    這篇文章主要介紹了Python 文件操作之讀取文件(read),文件指針與寫(xiě)入文件(write),文件打開(kāi)方式,結(jié)合實(shí)例形式分析了Python文件讀寫(xiě)相關(guān)的指針、打開(kāi)方式等相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • Python?pandas找出、刪除重復(fù)的數(shù)據(jù)實(shí)例

    Python?pandas找出、刪除重復(fù)的數(shù)據(jù)實(shí)例

    在面試中很可能遇到給定一個(gè)含有重復(fù)元素的列表,刪除其中重復(fù)的元素,下面這篇文章主要給大家介紹了關(guān)于Python?pandas找出、刪除重復(fù)數(shù)據(jù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • python人工智能TensorFlow自定義層及模型保存

    python人工智能TensorFlow自定義層及模型保存

    這篇文章主要為大家介紹了python人工智能TensorFlow自定義層及模型保存示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • python使用pymongo與MongoDB基本交互操作示例

    python使用pymongo與MongoDB基本交互操作示例

    這篇文章主要介紹了python使用pymongo與MongoDB基本交互操作,結(jié)合實(shí)例形式詳細(xì)分析了python基于pymongo庫(kù)實(shí)現(xiàn)與MongoDB基本交互相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2020-04-04
  • python用folium繪制地圖并設(shè)置彈窗效果

    python用folium繪制地圖并設(shè)置彈窗效果

    這篇文章主要介紹了python用folium繪制地圖并設(shè)置彈窗,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Python中dict遍歷的方法詳解

    Python中dict遍歷的方法詳解

    在Python編程中,字典(dict)是一種非常常用的數(shù)據(jù)結(jié)構(gòu),它可以幫助存儲(chǔ)和查找鍵值對(duì),那么,如何遍歷一個(gè)字典呢?本文將詳細(xì)介紹Python中dict遍歷的方法,讓你的編程更高效,需要的朋友可以參考下
    2025-06-06
  • 使用Python進(jìn)行用戶畫(huà)像構(gòu)建的示例詳解

    使用Python進(jìn)行用戶畫(huà)像構(gòu)建的示例詳解

    用戶畫(huà)像,又稱為用戶檔案或客戶畫(huà)像,是一種通過(guò)收集和分析用戶的行為、偏好、需求等多維度信息,本文主要介紹了如何使用Python進(jìn)行用戶畫(huà)像的構(gòu)建,需要的可以參考下
    2024-10-10
  • python迭代器常見(jiàn)用法實(shí)例分析

    python迭代器常見(jiàn)用法實(shí)例分析

    這篇文章主要介紹了python迭代器常見(jiàn)用法,結(jié)合實(shí)例形式分析了Python迭代器概念、功能、常見(jiàn)操作方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2019-11-11
  • 淺談pandas中shift和diff函數(shù)關(guān)系

    淺談pandas中shift和diff函數(shù)關(guān)系

    下面小編就為大家分享一篇淺談pandas中shift和diff函數(shù)關(guān)系,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python使用BeautifulSoup4修改網(wǎng)頁(yè)內(nèi)容的實(shí)戰(zhàn)記錄

    Python使用BeautifulSoup4修改網(wǎng)頁(yè)內(nèi)容的實(shí)戰(zhàn)記錄

    BeautifulSoup除了可以查找和定位網(wǎng)頁(yè)內(nèi)容,還可以修改網(wǎng)頁(yè),下面這篇文章主要給大家介紹了關(guān)于Python使用BeautifulSoup4修改網(wǎng)頁(yè)內(nèi)容的相關(guān)資料,需要的朋友可以參考下
    2022-05-05

最新評(píng)論

宁陕县| 大同市| 贵溪市| 谢通门县| 泰顺县| 洮南市| 湖州市| 崇明县| 交城县| 乌苏市| 丰原市| 荃湾区| 怀来县| 金门县| 宁陵县| 沁阳市| 巫溪县| 巢湖市| 平乐县| 高淳县| 福清市| 甘南县| 固镇县| 噶尔县| 康乐县| 东乡县| 和平县| 鄂伦春自治旗| 昌都县| 南安市| 古交市| 肃南| 麟游县| 泽州县| 固安县| 静宁县| 秦皇岛市| 玛多县| 墨竹工卡县| 柳江县| 平果县|