python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python修改PDF文件名称

Python批量修改PDF文件名称的完整指南(附源码)

作者:杨利杰YJlio

这篇文章主要为大家详细介绍了Python实现PDF文件批量重命名的相关方法,通过指定目录、新前缀和后缀自动修改文件名,支持正则表达式提取中间部分,图形界面操作简单直观

一、运行效果

本程序旨在对指定目录下的PDF文件进行批量重命名。执行程序后,原文件名如“36266郜一凡200304000038内部调拨.pdf”,会被修改为“1234一二200304000038保留规则.pdf”。以下是修改前后的直观展示:

修改前:

修改后:

二、功能解析

程序运行时,用户需输入待修改文件所在的目录。程序会基于输入目录,对其中的PDF文件执行重命名操作。重命名逻辑为保留文件名中间符合特定格式的部分,同时修改文件的前缀和后缀。

三、代码实现

3.1 Python 代码

import os 
import re
import tkinter as tk
from tkinter import messagebox


def rename_pdf_files(folder_path, new_prefix, new_suffix):
    for filename in os.listdir(folder_path):
        if filename.endswith('.pdf'):
            match = re.search(r'(\d+).*?(\d+)', filename)
            if match:
                middle_part = match.group(2)
                new_filename = f"{new_prefix}{middle_part}{new_suffix}.pdf"
                old_file_path = os.path.join(folder_path, filename)
                new_file_path = os.path.join(folder_path, new_filename)
                try:
                    os.rename(old_file_path, new_file_path)
                    print(f"已将 {filename} 重命名为 {new_filename}")
                except Exception as e:
                    print(f"重命名 {filename} 时出错: {e}")


def start_renaming():
    folder_path = entry.get()
    if not os.path.exists(folder_path):
        messagebox.showerror("错误", f"你输入的路径 {folder_path} 不存在,请检查后重新输入。")
        return
    new_prefix = '1234一二'
    new_suffix = '保留规则'
    rename_pdf_files(folder_path, new_prefix, new_suffix)
    messagebox.showinfo("完成", "文件重命名操作已完成。")


root = tk.Tk()
root.title("PDF 文件重命名")
root.geometry("400x400")

label = tk.Label(root, text="请输入文件所在路径:")
label.pack(pady=20)

entry = tk.Entry(root, width=50)
entry.pack(pady=10)

button = tk.Button(root, text="开始重命名", command=start_renaming)
button.pack(pady=20)

root.mainloop()

3.2 代码详解

核心重命名函数rename_pdf_files

该函数接受三个参数:待处理文件所在目录folder_path、新文件名前缀new_prefix、新文件名后缀new_suffix

  1. 遍历文件:使用os.listdir遍历指定目录下的所有文件,并通过filename.endswith('.pdf')筛选出PDF文件。
  2. 提取中间部分:借助正则表达式re.search(r'(\d+).*?(\d+)', filename)匹配并提取文件名中的中间数字部分。
  3. 构建新文件名:依据提取的中间部分、新前缀和新后缀,构建新的文件名new_filename
  4. 重命名文件:使用os.rename将旧文件重命名为新文件,并在控制台打印重命名信息,若出现错误,也会打印错误信息。

启动重命名函数start_renaming

该函数负责获取用户输入的目录路径,并进行路径有效性检查。若路径不存在,弹出错误提示框。在确认路径有效后,设定新的前缀和后缀,调用rename_pdf_files函数执行重命名操作,并在操作完成后弹出提示框。

图形界面搭建

  1. 创建主窗口:使用tk.Tk()创建名为“PDF 文件重命名”的主窗口,并设置窗口大小为400x400像素。
  2. 添加组件:创建提示标签、输入框和开始按钮。提示标签用于引导用户输入路径,输入框供用户输入文件目录,开始按钮则绑定start_renaming函数,点击后触发重命名操作。
  3. 启动主循环:使用root.mainloop()启动图形界面的主循环,确保界面能够响应用户操作。

到此这篇关于Python批量修改PDF文件名称的完整指南(附源码)的文章就介绍到这了,更多相关Python修改PDF文件名称内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文