Язык Python - лаконичный язык программирования. Это его свойство позволяет писать объемные программы меньшим количеством кода, по сравнению с другими языками. Также язык отлично походит для автоматизации многих рутинных задач. Одной из таких задач является переименование большого количества файлов.

Массовое переименование PDF файлов с помощью Python

Язык Python - лаконичный язык программирования. Это его свойство позволяет писать объемные программы меньшим количеством кода, по сравнению с другими языками. Также язык отлично походит для автоматизации многих рутинных задач. Одной из таких задач является переименование большого количества файлов.

Например, представим, что у нас много pdf файлов отчетов. У каждого есть некоторое цифровое обозначение, которое мало что говорит о содержимом файла. Но, по стандарту, у каждого pdf (как правило) должен быть заголовок в метаданных. Вот это заголовок мы как раз можем прочитать в Python и использовать в качестве названия файла.

Далее покажу пример кода скрипта, который данную задачу выполняет.

# сначала ставим пакет pdfrw

$ pip install pdfrw

Код скрипта:

import os
from pdfrw import PdfReader

path = r'./' # текущая папка


def rename_pdf_file(path, pdf_file):

    # полный путь к файлу в файловой системе
    fullName = os.path.join(path, pdf_file)
   
    # извлекаем заголовок документа из pdf файла
    newName = PdfReader(fullName).Info.Title
    
    # если файл есть
    if( newName != None):
        newName = newName + '.pdf'
        newFullName = os.path.join(path, newName)
        
        # переименовываем файл
        os.rename(fullName, newFullName)



# приходимся по всем файлам в папке
for pdf_file in os.listdir(path):
   
    fullName = os.path.join(path, pdf_file)
    
    # переименовываем только pdf файлы
    if (not os.path.isfile(fullName) or pdf_file[-4:] != '.pdf'):
        continue
    rename_pdf_file(path, pdf_file)
    
    

Это скрипт переименовывает все pdf файлы в папке по из заголовкам из метаданных.