求用python批量修改pdf文件名的程序代码案例

#我需要将一个文件夹下的pdf文件(每个文件按文件名排序,前14个字符为数字和符号),将那个文件文件名的前14个字符替换为2021-04-001至2021-04-999的顺序号(紧紧替换前14个字符,后边的中文字符文件名内容不变)。

#或者请麻烦推荐类似问题的答案案例,我从中学习,谢谢。

直接重命名可以用os.rename("旧文件路径","新文件路径"),可参考:https://www.jb51.net/article/251067.htm。也可以另存到指定文件夹下。


import os
from pathlib import Path
from PyPDF2 import PdfFileWriter, PdfFileReader

# 创建Path对象
src_folder = Path('PDF3')
output_folder = Path('PDF_rename')
# 判断输出目录是否存在
if not output_folder.exists():
    # 不存在则创建
    output_folder.mkdir(parents=True)

file_list = list(src_folder.glob('*.pdf'))  # 获得给定目录下的所有pdf文件的路径

for index, file in enumerate(file_list):
    pdf_file_in = str(file)  # 输入文件路径
    # 输出文件名
    output_name = file.stem.replace(file.stem[:14], '2021-04-' + str(index + 1).rjust(3, '0')) + ".pdf"
    # print(output_name)
    pdf_file_out = str(output_folder / output_name)  # 输出文件的路径
    
    # 直接重命名
    # os.rename(pdf_file_in, pdf_file_out)
    
    # 另存
    input_file = PdfFileReader(pdf_file_in)
    output_file = PdfFileWriter()  # 创建PdfFileWriter对象
    page_count = len(input_file.pages)  # 获得PDF文件页数
    for pageNum in range(page_count):
        page = input_file.pages[pageNum]
        output_file.add_page(page)  # 将页面添加到PDF文件
    with open(pdf_file_out, 'wb') as pf:
        output_file.write(pf)

参考以下替换代码:

import os
for file_name in file_dir:
    old_file_name = file_dir + file_name
    new_file_name = file_dir + "2021-04-001" + file_name[15:]
    os.rename("旧文件路径","新文件路径")