文件后缀批量修改工具

新库专栏1年前原创软件

以下是可以用来批量修改文件后缀的 Python 代码。这个代码使用了 Python 标准库中的 os 和 tkinter,以及 filedialog 和 ttk 库中的一些组件。

import os

import tkinter as tk

from tkinter import filedialog, ttk


class BatchRenameGUI:

    def __init__(self):

        self.root = tk.Tk()

        self.root.title("Batch Rename Tool")

        self.root.geometry("400x150")

        self.root.resizable(False, False)

        

        self.folder_path = tk.StringVar()

        self.new_suffix = tk.StringVar()

        self.progress = tk.StringVar()

        

        folder_label = ttk.Label(self.root, text="Select Folder:")

        folder_label.grid(row=0, column=0, padx=10, pady=10, sticky="w")

        

        folder_entry = ttk.Entry(self.root, textvariable=self.folder_path, width=40)

        folder_entry.grid(row=0, column=1, padx=10, pady=10)

        

        folder_button = ttk.Button(self.root, text="Browse", command=self.select_folder)

        folder_button.grid(row=0, column=2, padx=10, pady=10)

        

        suffix_label = ttk.Label(self.root, text="New Suffix:")

        suffix_label.grid(row=1, column=0, padx=10, pady=10, sticky="w")

        

        suffix_entry = ttk.Entry(self.root, textvariable=self.new_suffix, width=40)

        suffix_entry.grid(row=1, column=1, padx=10, pady=10)

        

        start_button = ttk.Button(self.root, text="Start Rename", command=self.start_rename)

        start_button.grid(row=2, column=1, padx=10, pady=10)

        

        progress_label = ttk.Label(self.root, textvariable=self.progress)

        progress_label.grid(row=3, column=1, padx=10, pady=10)

        

        self.root.mainloop()

    

    def select_folder(self):

        folder_path = filedialog.askdirectory()

        self.folder_path.set(folder_path)

    

    def start_rename(self):

        folder_path = self.folder_path.get()

        new_suffix = self.new_suffix.get()

        self.progress.set("Renaming files...")

        self.root.update()

        for root, dirs, files in os.walk(folder_path):

            for file in files:

                if not file.endswith(new_suffix):

                    old_file_path = os.path.join(root, file)

                    new_file_path = os.path.join(root, os.path.splitext(file)[0] + "." + new_suffix)

                    os.rename(old_file_path, new_file_path)

        self.progress.set("Rename complete!")


相关文章

微信群微信号提取软件,可提取wxid,群成员名单导出工具

微信群微信号提取软件,可提取wxid,群成员名单导出工具

随着互联网技术的飞速发展,微信已经成为我们日常生活中不可或缺的通讯工具之一。然而,对于很多企业和个人来说,微信群成员的信息提取和管理却是一大难题。为了解决这个问题,越来越多的微信群微信号提取软件应运而...

keil5mdk版和keil5觉得哪个好???

问题补充:也可以讲解一下keil5mdk和keil5的对比与两个之间的区别最好,因为很多朋友对这个东西了解的不多问题描述:请大家回答一下keil5mdk版和keil5那个好用吧!!!给个专业回答...

【微信群发器电脑版】群发好友或群、文字/表情/图片、文件/链接/名片

【微信群发器电脑版】群发好友或群、文字/表情/图片、文件/链接/名片

软件介绍:做微信营销的难免离不开信息的群发,比如群发二维码,群发文件,或群发个人名片,但微信默认支持的群发仅能选择200个人,非常有限,一些微商微信最少都是3000人以上,这要发到什么时候,并且每次选...

抖音直播间采集软件截流,可采抖音号uid,进入信息关键词

抖音直播间采集软件截流,可采抖音号uid,进入信息关键词

软件介绍:网上当然也有一些抖音直播间截留软件,比如关键词检测,在线用户私信等,虽然功能看起来挺牛的,但你真正使用后才发现,效果一般般,甚至看不到效果,这不是我夸张说的,真是如此,然后今天我带来的这款软...

MTK手机一键ROOT工具,oppo华为小米vivo强制ROOT,无需电脑

MTK手机一键ROOT工具,oppo华为小米vivo强制ROOT,无需电脑

软件介绍:分享一款支持支持三星、HTC、索尼、华为、中兴、联想、酷派,oppo华为小米vivo系列机型的root强开工具,成功率非常的高,网上其实也有很多同类型的ROOT工具,但是你可以下载试一下,几...

微信视频聊天怎么给对方看假视频?ai换脸可以不

微信视频聊天怎么给对方看假视频?ai换脸可以不

有时候在外面出差,老婆查岗不方便,怎么办呢,我们可以用虚拟视频插件,录制到干净的视频场景,然后导入到虚拟视频插件里面,在跟老婆打电话,她看到的就是录制好的假视频,并且如果你用一些AI软件还能实现变脸的...