Deep_Breath7 2022-08-28 16:01 采纳率: 100%
浏览 73
已结题

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

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

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

  • 写回答

2条回答 默认 最新

  • 梦里逆天 2022-08-28 17:09
    关注

    直接重命名可以用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)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月5日
  • 已采纳回答 8月28日
  • 修改了问题 8月28日
  • 创建了问题 8月28日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分