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

Python+Tkinter編寫一個批量字符添加工具

 更新時間:2025年12月19日 08:47:37   作者:小莊-Python辦公  
在日常開發(fā)或數(shù)據(jù)處理工作中,我們經(jīng)常會遇到需要給一堆列表數(shù)據(jù)添加引號、逗號的情況,今天我們就用 Python 自帶的 tkinter 庫,寫一個輕量級的桌面小工具,實現(xiàn)一鍵批量添加前后綴并復制到剪貼板

在日常開發(fā)或數(shù)據(jù)處理工作中,我們經(jīng)常會遇到需要給一堆列表數(shù)據(jù)添加引號、逗號的情況。比如把 Excel 里的 ID 列表轉換成 SQL 的 IN 查詢條件,或者轉成 JSON 數(shù)組格式。

手動一行行修改非常繁瑣,今天我們就用 Python 自帶的 tkinter 庫,寫一個輕量級的桌面小工具,實現(xiàn)一鍵批量添加前后綴并復制到剪貼板。

需求分析

我們需要一個簡單的界面,包含以下功能:

  • 輸入?yún)^(qū)域:可以粘貼多行文本。
  • 配置區(qū)域:可以指定每行開頭添加什么(比如 "),結尾添加什么(比如 ",)。
  • 操作按鈕:點擊后自動處理文本,并將結果復制到剪貼板。

結果演示

假設我們輸入:

華東重客海外倉2
華東重客冷運1
華東重客冷運2

設置左側為 ",右側為 ",,點擊處理后得到:

"華東重客海外倉2",
"華東重客冷運1",
"華東重客冷運2",

工具界面圖

代碼實現(xiàn)

我們不需要安裝任何第三方庫,直接使用 Python 標準庫中的 tkinter。

1. 界面布局

使用 tk.Frame 將界面分為上、中、下三部分:

  • 頂部:輸入框,用于設置左側和右側的符號。
  • 中部:大文本框(Text 組件),用于粘貼和顯示數(shù)據(jù)。
  • 底部:操作按鈕和狀態(tài)欄。

2. 核心邏輯

獲取文本框內(nèi)容后,按行分割,遍歷每一行進行字符串拼接,最后再合并回字符串。

3. 完整代碼 (text_wrapper.py)

import tkinter as tk
from tkinter import messagebox

class TextWrapperApp:
    def __init__(self, root):
        self.root = root
        self.root.title("字符批量添加工具")
        self.root.geometry("600x500")

        # === 頂部配置區(qū)域 ===
        config_frame = tk.Frame(root, pady=10)
        config_frame.pack(fill=tk.X, padx=10)

        # 左側符號配置
        tk.Label(config_frame, text="左側添加:").pack(side=tk.LEFT, padx=5)
        self.prefix_entry = tk.Entry(config_frame, width=15)
        self.prefix_entry.pack(side=tk.LEFT, padx=5)
        self.prefix_entry.insert(0, '"') # 默認值

        # 右側符號配置
        tk.Label(config_frame, text="右側添加:").pack(side=tk.LEFT, padx=5)
        self.suffix_entry = tk.Entry(config_frame, width=15)
        self.suffix_entry.pack(side=tk.LEFT, padx=5)
        self.suffix_entry.insert(0, '",') # 默認值

        # === 中間文本區(qū)域 ===
        text_frame = tk.Frame(root, padx=10, pady=5)
        text_frame.pack(fill=tk.BOTH, expand=True)
        
        tk.Label(text_frame, text="請在下方粘貼文本:").pack(anchor=tk.W)

        # 滾動條和文本框
        scrollbar = tk.Scrollbar(text_frame)
        scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
        
        self.text_area = tk.Text(text_frame, wrap=tk.NONE, height=15, yscrollcommand=scrollbar.set)
        self.text_area.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
        
        scrollbar.config(command=self.text_area.yview)

        # === 底部按鈕區(qū)域 ===
        btn_frame = tk.Frame(root, pady=10)
        btn_frame.pack(fill=tk.X, padx=10)

        # 處理并復制按鈕
        process_btn = tk.Button(
            btn_frame, 
            text="處理并復制結果", 
            command=self.process_and_copy, 
            bg="#0078d7", 
            fg="white", 
            font=("Microsoft YaHei", 10, "bold"),
            padx=10,
            pady=5
        )
        process_btn.pack(side=tk.LEFT, padx=5)
        
        # 清空按鈕
        clear_btn = tk.Button(
            btn_frame, 
            text="清空內(nèi)容", 
            command=self.clear_text,
            padx=10,
            pady=5
        )
        clear_btn.pack(side=tk.LEFT, padx=5)

        # 狀態(tài)欄
        self.status_label = tk.Label(root, text="準備就緒", bd=1, relief=tk.SUNKEN, anchor=tk.W)
        self.status_label.pack(side=tk.BOTTOM, fill=tk.X)

    def process_and_copy(self):
        # 獲取前后綴
        prefix = self.prefix_entry.get()
        suffix = self.suffix_entry.get()
        
        # 獲取文本框內(nèi)容
        content = self.text_area.get("1.0", tk.END)
        
        if not content.strip():
            messagebox.showwarning("提示", "文本框為空,請輸入內(nèi)容!")
            return

        lines = content.split('\n')
        processed_lines = []
        count = 0
        
        for line in lines:
            stripped_line = line.strip()
            
            if stripped_line:
                processed_lines.append(f"{prefix}{stripped_line}{suffix}")
                count += 1

        if count == 0:
            messagebox.showinfo("提示", "沒有檢測到有效文本行。")
            return

        result_text = "\n".join(processed_lines)
        
        # 更新文本框顯示結果
        self.text_area.delete("1.0", tk.END)
        self.text_area.insert("1.0", result_text)
        
        # 復制到剪貼板
        self.root.clipboard_clear()
        self.root.clipboard_append(result_text)
        self.root.update() 
        
        self.status_label.config(text=f"成功處理 {count} 行,并已復制到剪貼板!")
        messagebox.showinfo("成功", f"已完成!\n共處理 {count} 行數(shù)據(jù)。\n結果已復制到剪貼板。")

    def clear_text(self):
        self.text_area.delete("1.0", tk.END)
        self.status_label.config(text="內(nèi)容已清空")

if __name__ == "__main__":
    root = tk.Tk()
    app = TextWrapperApp(root)
    root.mainloop()

如何使用

  • 將上面的代碼保存為 text_wrapper.py。
  • 確保電腦上安裝了 Python。
  • 在命令行運行 python text_wrapper.py,或者創(chuàng)建一個 .bat 批處理文件雙擊運行。

這樣,一個小巧實用的辦公輔助工具就完成啦!希望這個小腳本能幫你節(jié)省一些重復勞動的時間。

到此這篇關于Python+Tkinter編寫一個批量字符添加工具的文章就介紹到這了,更多相關Python批量添加字符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python中chinesecalendar簡介、安裝、使用方法詳細講解

    Python中chinesecalendar簡介、安裝、使用方法詳細講解

    這篇文章主要介紹了Python中chinesecalendar簡介、安裝、使用方法詳細講解,該庫是判斷某年某月某一天是不是工作日/節(jié)假日。 支持 2004年 至 2023年,包括 2020年 的春節(jié)延長,需要的朋友可以參考下
    2023-03-03
  • Python實現(xiàn)自動化處理PDF文件的方法詳解

    Python實現(xiàn)自動化處理PDF文件的方法詳解

    這篇文章主要為大家詳細介紹了如何使用Python完成簡單的PDF文件處理操作,如PDF文件的批量合并、拆分、加密以及添加水印等,需要的可以參考一下
    2022-09-09
  • 使用Jupyter notebooks上傳文件夾或大量數(shù)據(jù)到服務器

    使用Jupyter notebooks上傳文件夾或大量數(shù)據(jù)到服務器

    這篇文章主要介紹了使用Jupyter notebooks上傳文件夾或大量數(shù)據(jù)到服務器,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python將文本分每兩行一組并保存到文件

    python將文本分每兩行一組并保存到文件

    這篇文章主要介紹了python將文本分每兩行一組并保存到文件,需要的朋友可以參考下
    2018-03-03
  • Python爬蟲實戰(zhàn)之使用Scrapy爬取豆瓣圖片

    Python爬蟲實戰(zhàn)之使用Scrapy爬取豆瓣圖片

    在用Python的urllib和BeautifulSoup寫過了很多爬蟲之后,本人決定嘗試著名的Python爬蟲框架——Scrapy.本次分享將詳細講述如何利用Scrapy來下載豆瓣名人圖片,需要的朋友可以參考下
    2021-06-06
  • pythonfor循環(huán)中range與len區(qū)別

    pythonfor循環(huán)中range與len區(qū)別

    這篇文章主要介紹了pythonfor循環(huán)中range與len區(qū)別,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • 零基礎寫python爬蟲之使用urllib2組件抓取網(wǎng)頁內(nèi)容

    零基礎寫python爬蟲之使用urllib2組件抓取網(wǎng)頁內(nèi)容

    文章詳細介紹了在python2.5環(huán)境下,如何使用urllib2這個python自帶的組件進行抓取指定網(wǎng)頁內(nèi)容的,整個過程記錄的非常的詳細,也很簡單,有需要的朋友可以參考下,寫出自己的python爬蟲
    2014-11-11
  • Python中json庫的操作指南

    Python中json庫的操作指南

    JSON是存儲和交換文本信息的語法,類似XML,JSON比XML更小、更快,更易解析,且易于人閱讀和編寫,下面這篇文章主要給大家介紹了關于Python中json庫的操作指南,需要的朋友可以參考下
    2023-04-04
  • 利用Python抓取行政區(qū)劃碼的方法

    利用Python抓取行政區(qū)劃碼的方法

    做項目的時候會需要用到各個行政區(qū)劃的代碼,最近就碰巧遇到有這個需求,于是就上網(wǎng)搜了一下,測試后分享給大家,這篇文章就給大家分享了利用Python抓取行政區(qū)劃碼的示例代碼,有需要的朋友們可以參考借鑒,下面跟著小編一起去學習學習吧。
    2016-11-11
  • Python數(shù)據(jù)分析中正則表達式匹配字符串與常用函數(shù)示例詳解

    Python數(shù)據(jù)分析中正則表達式匹配字符串與常用函數(shù)示例詳解

    正則表達式是處理文本數(shù)據(jù)的強大工具,Python通過re模塊提供了完整的正則表達式功能,這篇文章主要介紹了Python數(shù)據(jù)分析中正則表達式匹配字符串與常用函數(shù)的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2026-05-05

最新評論

家居| 姜堰市| 南投市| 张家口市| 察雅县| 德州市| 榆社县| 石首市| 调兵山市| 无为县| 宣汉县| 宝兴县| 洞口县| 广州市| 阳新县| 漯河市| 泗阳县| 汾西县| 宣武区| 柏乡县| 林甸县| 墨竹工卡县| 大石桥市| 页游| 吉林省| 九龙城区| 岳普湖县| 蒲城县| 扎赉特旗| 名山县| 广宗县| 罗平县| 安达市| 凤凰县| 吉木乃县| 鹰潭市| 巴林左旗| 那坡县| 文水县| 杭锦旗| 绥棱县|