使用Python 统计文件夹内所有pdf页数的小工具
作者:ou.cs 发布时间:2022-07-06 23:21:46
标签:Python,pdf,页数
1.首先安装 PyPDF2 库:
pip install PyPDF2
2.然后保存下面文件(已带注释,具体实现请自己思考)
import os
import PyPDF2
#获取文件夹内所有pdf文件,以及打印文件数量
def GetFileInfo(path, fileType=()):
fileList = []
# root 表示当前正在访问的文件夹路径
# dirs 是 list , 表示该文件夹中所有的目录的名字(不包括子目录)
# files 是 list , 表示内容是该文件夹中所有的文件(不包括子目录)
#(每遍历一次相当于进入下级子目录)
for root, dirs, files in os.walk(path):
for name in files :
fname = os.path.join(root, name)
if fname.endswith(fileType):
fileList.append(fname)
print("总共有%d个PDF文件"%fileList.__len__())
return fileList
def compute_pdfpage(path):
TotalPageNum = 0
fileType = ("PDF","pdf")
fileList = GetFileInfo(path=path, fileType=fileType)
for pdf in fileList:
try:
reader = PyPDF2.PdfFileReader(pdf)
#获取单个文件页数
pageNum = reader.getNumPages()
TotalPageNum += pageNum
except Exception as e:
print("-"*70)
print(pdf + "该文件出现异常,可能是权限问题")
print(e)
print("-"*70)
return TotalPageNum
if __name__ == '__main__':
while True:
path=input('请输入要检测的文件夹路径:\n')
TotalPageNum = compute_pdfpage(path)
print("总共%d页"%TotalPageNum)
3.安装打包工具pyinstaller(只有安装了这个,才能将py文件生成为可以通过双击直接在windows执行的exe文件)
pip install pyinstaller
4.然后在py文件目录下的地址栏输入cmd调出当前路径下的终端。
5.在终端中输入如下命令后回车,-F后面跟的是 你要生成exe可执行文件所对应的py文件。
pyinstaller -F 检测文件夹内所有pdf的小工具.py
6.最终生成3个文件夹,可执行文件在dist文件夹中。
运行效果:
小工具的下载链接
来源:https://blog.csdn.net/weixin_44291381/article/details/114300937


猜你喜欢
- 这篇文章主要介绍了python cv2在验证码识别中应用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- 一、无组件上传的原理我还是一点一点用一个实例来说明的吧,客户端HTML如下。要浏览上传附件,我们通过<input type="
- python-docx库可用于创建和编辑Microsoft Word(.docx)文件。官方文档:链接地址备注:doc是微软的专有的文件格式
- 经过倒腾12306的登录,还是实现了,请求头很重要...各位感兴趣的可以继续写下去.....import sysimport timeimp
- 原理1.使用python中的mtplotlib库。2.立体爱心面公式点画法(实心)代码import matplotlib.pyplot as
- 为方便用ipset 来管理防火墙,写了下面Ipset类来对Ip进行管理#!/usr/bin/env python# coding: utf-
- 刚在网上查了一圈,好家伙,全都是那一篇文章,而且用的pycharm是老版本的,下边介绍的是pycharm2019专业版的,直接切入正题:(1
- 通常我们在vue里面使用别人开发的组件,第一步就是install,第二步在main.js里面引入,第三步Vue.use这个组件。今天我简单的
- 1、Bootstrap-table使用github:https://github.com/wenzhixin/bootstrap-table
- 一、绑定方法1.对象的绑定方法首先我们明确一个知识点,凡是类中的方法或函数,默认情况下都是绑定给对象使用的。下面,我们通过实例,来慢慢解析绑
- table.rows集合中是cell对象 cell.innerHTML = "<td>123</td>&q
- nn.RNN(input_size, hidden_size, num_layers=1, nonlinearity=tanh, bias=
- 本文实例讲述了Python数据分析之双色球统计单个红和蓝球哪个比例高的方法。分享给大家供大家参考,具体如下:统计单个红球和蓝球,哪个组合最多
- 目录一、索引基本知识1.1 索引的优点1.2 索引的用处1.3 索引的分类1.4 面试技术名词1.5 索
- 前言在Python中可迭代(Iterable)、迭代器(Iterator)和生成器(Generator)这几个概念是经常用到的,初学时对这几
- 今天看一个水友说他的MySQL现在变的很慢。问什么情况时。说单表超过2个G的一个MyISAM。真垃圾的回答方式。 &n
- MS SQL Server中文版的预设日期datetime格式是yyyy-mm-dd hh:mm:ss.mmm 长短日期格式 --短日期格式
- 当初次在机器上安装完Mysql时,你可以匿名进行访问数据库或者以不带口令的root身份进入数据库.另外如果你是一个管理员,你还要进行一些用户
- 操作系统 : Windows 10_x64 [版本 10.0.19042.685]pjsip版本 : 2.10pjsip官网:https:/
- 本文实例为大家分享了Django1.11自带分页器Django的具体使用方法,供大家参考,具体内容如下接下来我编写一个 views ,名cl