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

为什么做这个?

  • 因为有时候我们需要打印,需要知道自己的总页数然后算钱。
  • 如果有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)
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值