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

Python+Tkinter編寫(xiě)一個(gè)批量字符添加工具

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

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

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

需求分析

我們需要一個(gè)簡(jiǎn)單的界面,包含以下功能:

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

結(jié)果演示

假設(shè)我們輸入:

華東重客海外倉(cāng)2
華東重客冷運(yùn)1
華東重客冷運(yùn)2

設(shè)置左側(cè)為 ",右側(cè)為 ",,點(diǎn)擊處理后得到:

"華東重客海外倉(cāng)2",
"華東重客冷運(yùn)1",
"華東重客冷運(yùn)2",

工具界面圖

代碼實(shí)現(xiàn)

我們不需要安裝任何第三方庫(kù),直接使用 Python 標(biāo)準(zhǔn)庫(kù)中的 tkinter

1. 界面布局

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

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

2. 核心邏輯

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

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)

        # 左側(cè)符號(hào)配置
        tk.Label(config_frame, text="左側(cè)添加:").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, '"') # 默認(rèn)值

        # 右側(cè)符號(hào)配置
        tk.Label(config_frame, text="右側(cè)添加:").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, '",') # 默認(rèn)值

        # === 中間文本區(qū)域 ===
        text_frame = tk.Frame(root, padx=10, pady=5)
        text_frame.pack(fill=tk.BOTH, expand=True)
        
        tk.Label(text_frame, text="請(qǐng)?jiān)谙路秸迟N文本:").pack(anchor=tk.W)

        # 滾動(dòng)條和文本框
        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)

        # 處理并復(fù)制按鈕
        process_btn = tk.Button(
            btn_frame, 
            text="處理并復(fù)制結(jié)果", 
            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="準(zhǔn)備就緒", 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("提示", "文本框?yàn)榭?,?qǐng)輸入內(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("提示", "沒(méi)有檢測(cè)到有效文本行。")
            return

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

    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。
  • 在命令行運(yùn)行 python text_wrapper.py,或者創(chuàng)建一個(gè) .bat 批處理文件雙擊運(yùn)行。

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

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

相關(guān)文章

  • Python中chinesecalendar簡(jiǎn)介、安裝、使用方法詳細(xì)講解

    Python中chinesecalendar簡(jiǎn)介、安裝、使用方法詳細(xì)講解

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

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

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

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

    這篇文章主要介紹了使用Jupyter notebooks上傳文件夾或大量數(shù)據(jù)到服務(wù)器,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • python將文本分每?jī)尚幸唤M并保存到文件

    python將文本分每?jī)尚幸唤M并保存到文件

    這篇文章主要介紹了python將文本分每?jī)尚幸唤M并保存到文件,需要的朋友可以參考下
    2018-03-03
  • Python爬蟲(chóng)實(shí)戰(zhàn)之使用Scrapy爬取豆瓣圖片

    Python爬蟲(chóng)實(shí)戰(zhàn)之使用Scrapy爬取豆瓣圖片

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

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

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

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

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

    Python中json庫(kù)的操作指南

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

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

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

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

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

最新評(píng)論

萨嘎县| 大化| 永寿县| 北辰区| 宜城市| 格尔木市| 伊宁市| 西乌珠穆沁旗| 双城市| 南涧| 五寨县| 舒城县| 铜陵市| 新昌县| 突泉县| 城固县| 金寨县| 铁力市| 桦川县| 全南县| 蒙城县| 北安市| 西乌| 晋宁县| 芜湖市| 安国市| 武定县| 江都市| 昌宁县| 临泉县| 如东县| 南岸区| 循化| 仁怀市| 汕尾市| 灵璧县| 武胜县| 门源| 舟山市| 繁峙县| 太白县|