python-计算文件夹里的.pdf文件的总页数

该博客介绍了一个Python脚本,用于统计指定文件夹及其子文件夹中所有PDF文件的总页数。通过使用PyPDF2库,脚本可以逐个读取PDF并计算页数。此外,它还提供了查找文件夹内PDF文件的功能。这个脚本对于需要预估打印成本或管理大量PDF文档的场景非常实用。
摘要由CSDN通过智能技术生成

为什么做这个?

  • 因为有时候我们需要打印,需要知道自己的总页数然后算钱。
  • 如果有word,毕竟去打印店,转化为.pdf打印好些。

代码展示

  • 先安装PyPDF2依赖
pip install PyPDF2
  • 代码
from PyPDF2 import PdfFileReader as pr
import os


def single_pdf_count(pdf_path: str) -> int:  #计算单个pdf的页数
    count = 0
    try:
        f = open(pdf_path, 'rb')
        pdf = pr(f)
        # print(pdf_path, "正在计算...")
        count += pdf.getNumPages()
        f.close()
    except:
        print(pdf_path, '该文件出现异常,可能是权限问题或者被加密了')
    return count


def folder_pdf_files(folder: str) -> list[str]:  #一个文件夹里面有多少pdf文件
    file_list = []
    for a, b, c in os.walk(folder):
        for filename in c:
            if filename[-3:].lower() == 'pdf':
                file_path = os.path.join(a, filename)
                file_list.append(file_path)
    print(folder, ": 有", len(file_list), "个pdf文件")
    return file_list


def folders_pdf_pages(folders: list[str]) -> int:  #一个文件夹列表中的pdf有多少页
    print("正在计算...")
    pdf_files = []
    for folder in folders:
        pdf_files += folder_pdf_files(folder)
    count = 0
    for pdf_path in pdf_files:
        count += single_pdf_count(pdf_path)
    return count


if __name__ == '__main__':
    folders_list = ["文件夹目录1", "文件夹目录2"]
    pdf_count = folders_pdf_pages(folders_list)
    print("总的页数:", pdf_count)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值