Python 批量修改PDF文件名

参加CyberC会议,会议的论文集文件名全是字母+数字,找自己想看的很难受,就用python改了下。

环境说明:

(1)python3.6

(2)PyPDF2库(直接pip安装就行)

(3)文件的结构说明,如下图:

代码如下:

import os
from PyPDF2 import PdfFileWriter, PdfFileReader
from shutil import copy2

src_dir = 'F:\CyberC文献\CyberC2018'  # 源文件目录地址
des_dir = 'F:\CyberC文献\CyberC2018-txt'  # 新文件目录地址
num = 0

def list_all_files(rootdir):
    import os
    _files = []
    list = os.listdir(rootdir) #列出文件夹下所有的目录与文件
    for i in range(0,len(list)):
           path = os.path.join(rootdir,list[i])
           if os.path.isdir(path):
              _files.extend(list_all_files(path))
           if os.path.isfile(path):
              _files.append(path)
    return _files

if not os.path.exists(des_dir):  # 如果没有目标文件夹,新建一个目标文件夹进行存储
    os.makedirs(des_dir)

if os.path.exists(src_dir):
    files = list_all_files(src_dir)  # 获取源文件的目录地址
    for file in files:  # 对于目录下的每一个文件
        pdf_reader = PdfFileReader(open(file, 'rb'))  # 打开并建立一个PDF文件对象
        paper_title = pdf_reader.getDocumentInfo().title  # 获取PDF标题
        print("num : %s" % num, paper_title)  # 显示处理到第几个文件
        num += 1
        paper_title = str(paper_title)  # 标题字符化

        if paper_title.find('/') != -1:  # 对于'/'无法写入文件名的情况,将其用'_'代替
            new_paper_title = paper_title.replace('/', '_')
            paper_title = new_paper_title
            copy2(file, os.path.join(des_dir, paper_title) + '.pdf')
        else:
            copy2(file, os.path.join(des_dir, paper_title) + '.pdf')

else:
    print("该路径下不存在所查找的目录!")

 

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值