Python 批量统计 PDF 页数并打包为独立 exe 工具
本文介绍如何使用 Python 编写一个批量统计文件夹内所有 PDF 文件页数的工具,并通过 PyInstaller 将其打包为无需安装 Python 环境的独立 exe 可执行文件。
环境准备与依赖安装
在开始编写代码之前,需要确保 Python 环境中已安装两个核心库:PyPDF2 用于解析 PDF 文件并提取页数信息,pyinstaller 用于将 Python 脚本打包为可执行文件。可以通过以下命令进行安装:
pip install PyPDF2pip install pyinstaller核心代码实现
该工具的核心逻辑分为两部分:一是遍历指定文件夹下的所有 PDF 文件,二是读取每个文件的页数并累加。以下是完整的 Python 代码实现:
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)代码逻辑说明
程序通过 os.walk() 递归遍历目标文件夹,筛选出后缀为 .pdf 或 .PDF 的文件。随后,利用 PyPDF2.PdfFileReader 读取每个文件,并通过 getNumPages() 方法获取页数。如果读取过程中发生异常(如文件损坏或权限不足),程序会捕获异常并打印错误信息,继续处理下一个文件。最后,程序在主循环中接收用户输入的文件夹路径,计算并输出总页数。
打包为可执行文件 (exe)
为了让没有安装 Python 环境的用户也能使用该工具,可以使用 pyinstaller 将 Python 脚本打包为独立的 .exe 文件。在包含 Python 源文件的目录下,打开命令行终端(CMD),并执行以下命令:
pyinstaller -F 检测文件夹内所有pdf的小工具.py执行该命令后,pyinstaller 会自动分析脚本的依赖关系,并将所有必要的库打包在一起。打包完成后,生成的可执行文件位于项目目录下的 dist 文件夹中。





总结
通过上述步骤,我们成功创建了一个能够批量统计 PDF 文件页数的 Python 工具,并将其打包为独立的 .exe 可执行文件。该方法不仅简化了 PDF 页数统计的操作流程,还提高了工具的便携性和易用性。以上就是使用 Python 统计文件夹内所有 pdf 页数的小工具的详细内容,更多关于 Python 实用工具开发、PyPDF2 库使用及 PyInstaller 打包技巧的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













