• 使用Python删除PDF文件名中的特定文字


    在处理大量PDF文件时,有时候我们可能需要对文件名进行批量修改。例如,我们可能需要将文件名中的特定文字删除或替换。今天,我将向大家介绍如何使用Python编写一个简单的程序,选择一个文件夹,并删除文件名中的指定文字。
    C:\pythoncode\new\renamepdffilenname.py
    在这里插入图片描述

    准备工作

    首先,我们需要安装wxPython模块,它是一个用于创建桌面应用程序的Python模块。你可以使用pip工具来安装它:

    pip install wxPython
    
    • 1

    安装完成后,我们可以开始编写我们的程序了。

    编写程序

    我们将使用Python和wxPython模块来创建一个简单的GUI程序。程序的主要功能是选择一个文件夹,并遍历该文件夹下的所有PDF文件,将文件名中的指定文字删除。

    import os
    import wx
    
    class MyFrame(wx.Frame):
        def __init__(self, parent, title):
            super(MyFrame, self).__init__(parent, title=title)
    
            panel = wx.Panel(self)
            vbox = wx.BoxSizer(wx.VERTICAL)
    
            choose_btn = wx.Button(panel, label='选择文件夹')
            choose_btn.Bind(wx.EVT_BUTTON, self.on_choose_folder)
            vbox.Add(choose_btn, proportion=0, flag=wx.ALL|wx.CENTER, border=10)
    
            self.log_text = wx.TextCtrl(panel, style=wx.TE_MULTILINE|wx.TE_READONLY)
            vbox.Add(self.log_text, proportion=1, flag=wx.EXPAND|wx.ALL, border=10)
    
            panel.SetSizer(vbox)
            self.Show()
    
        def on_choose_folder(self, event):
            dialog = wx.DirDialog(self, "选择文件夹", style=wx.DD_DEFAULT_STYLE | wx.DD_DIR_MUST_EXIST)
    
            if dialog.ShowModal() == wx.ID_OK:
                folder_path = dialog.GetPath()
                self.process_pdf_files(folder_path)
    
            dialog.Destroy()
    
        def process_pdf_files(self, folder_path):
            self.log_text.Clear()
            self.log_text.AppendText("处理中...\n")
    
            for root, dirs, files in os.walk(folder_path):
                for file in files:
                    if file.lower().endswith(".pdf"):
                        file_path = os.path.join(root, file)
                        new_file_name = file.replace("-CSDN博客", "")
                        new_file_path = os.path.join(root, new_file_name)
    
                        try:
                            os.rename(file_path, new_file_path)
                            self.log_text.AppendText(f"重命名文件: {file_path} -> {new_file_path}\n")
                        except Exception as e:
                            self.log_text.AppendText(f"重命名文件时出错: {file_path}\n")
                            self.log_text.AppendText(f"错误信息: {str(e)}\n")
    
            self.log_text.AppendText("处理完成!")
    
    if __name__ == '__main__':
        app = wx.App()
        frame = MyFrame(None, "PDF文件重命名")
        app.MainLoop()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53

    运行程序

    保存上述代码为一个Python脚本文件,然后运行该脚本。程序将启动一个GUI窗口,你可以点击按钮选择要处理的文件夹。

    选择文件夹后,程序将遍历文件夹下的所有PDF文件,并删除文件名中的"-CSDN博客"文字。处理结果将显示在程序窗口的日志文本框中。

    总结

    通过使用Python和wxPython模块,我们可以轻松地创建一个GUI程序,用于批量处理PDF文件名。这个程序可以帮助我们快速删除文件名中的特定文字,提高工作效率。

  • 相关阅读:
    「微信聚合管理」如何提高企业管理工作微信的效率和客户的黏性?
    Spring问题集-no.1
    【平衡二叉搜索树】细撕AVL树的插入操作
    Vue组件间传值
    机器学习(十九)总结
    练习15. 窗口函数,RANK、DENSE_RANK、ROW_NUMBER
    Python常用类库:提升编程效率的利器
    通过正则批量提取PDF中文本信息
    RT-ThreadXSTM32F407智能车培训报名啦!
    Spark 之 Projection
  • 原文地址:https://blog.csdn.net/winniezhang/article/details/133196721