使用该工具需要先安装 Python3,并安装以下库:os、tkinter、filedialog 和 ttk。然后将代码保存为 batch_rename.py 文件,使用 PyInstaller 工具将其封装为无控制台、单文件的 exe 文件,以便用户可以方便地在没有 Python 环境的计算机上运行程序。
以下是完整的 Python 代码:文章源自天选之人网-https://tianxuanzhiren.com/12101/
import os import tkinter as tk from tkinter import filedialog from tkinter import ttk def batch_rename(folder_path, extension, progressbar): """根据输入的后缀批量修改文件后缀""" total_files = sum([len(files) for r, d, files in os.walk(folder_path)]) progress_increment = 100 / total_files current_progress = 0 for root, dirs, files in os.walk(folder_path): for filename in files: _, file_extension = os.path.splitext(filename) if file_extension != extension: # 修改后缀为输入的后缀 os.rename(os.path.join(root, filename), os.path.join(root, filename.split('.')[0] + extension)) current_progress += progress_increment progressbar['value'] = current_progress progressbar.update() class App: def __init__(self): self.window = tk.Tk() self.window.title('文件后缀修改工具') self.window.geometry('400x250') self.window.resizable(False, False) self.window.attributes('-toolwindow', True) # 标签 self.label1 = tk.Label(self.window, text='选择文件夹:', font=('微软雅黑', 12)) self.label1.place(x=20, y=20) # 文件夹选择按钮 self.button1 = tk.Button(self.window, text='选择文件夹', font=('微软雅黑', 10), command=self.select_folder) self.button1.place(x=280, y=20) # 后缀输入框标签 self.label4 = tk.Label(self.window, text='输入后缀:', font=('微软雅黑', 12)) self.label4.place(x=20, y=60) # 后缀输入框 self.extension_entry = tk.Entry(self.window, width=20) self.extension_entry.place(x=120, y=62) # 开始修改按钮 self.button2 = tk.Button(self.window, text='开始修改', font=('微软雅黑', 10), command=self.start_rename) self.button2.place(x=170, y=110) # 进度条 self.progressbar = ttk.Progressbar(self.window, mode='determinate', length=300) self.progressbar.place(x=50, y=170) self.progressbar['value'] = 0 # 修改完成标签 self.label3 = tk.Label(self.window, text='', font=('微软雅黑', 12)) self.label3.place(x=170, y=210) # 文件夹路径标签 self.label2 = tk.Label(self.window, text='', font=('微软雅黑', 10), fg='blue', wraplength=300, justify='left') self.label2.place(x=20, y=90) def select_folder(self): """选择文件夹""" folder_selected = filedialog.askdirectory() self.label2.config(text=folder_selected) def start_rename(self): """开始修改文件后缀""" try: folder_path = self.label2['text'] except KeyError: # 未选择文件夹时给出提示 self.label2.config(text='请选择文件夹!', fg='red') return extension = self.extension_entry.get() if not extension.startswith('.'): extension = '.' + extension self.progressbar['value'] = 0 batch_rename(folder_path, extension, self.progressbar) self.label3.config(text='修改完成!', fg='green') def run(self): self.window.mainloop() if name == 'main': app = App() app.run()
文章源自天选之人网-https://tianxuanzhiren.com/12101/
使用 PyInstaller 工具将上述代码封装为无控制台、单文件的 exe 文件的命令为:文章源自天选之人网-https://tianxuanzhiren.com/12101/
pyinstaller --onefile --noconsole batch_rename.py
文章源自天选之人网-https://tianxuanzhiren.com/12101/
该命令会在当前目录下生成 dist 文件夹,并在其中生成 batch_rename.exe 文件,这个文件就是封装好的可执行文件。文章源自天选之人网-https://tianxuanzhiren.com/12101/
可以将该文件复制到任何地方,并在不需要安装 Python 环境的计算机上运行它。文章源自天选之人网-https://tianxuanzhiren.com/12101/
文章源自天选之人网-https://tianxuanzhiren.com/12101/
文章源自天选之人网-https://tianxuanzhiren.com/12101/
免责声明:本站资源均来自互联网收集,仅供用于学习和交流,不得将上述内容用于商业或者非法用途,您必须在下载后的24个小时之内删除,请遵循相关法律法规,本站一切资源不代表本站立场,请支持原创作者和正版软件!!!
侵权删帖/违法举报:2463085204@qq.com
评论