主页 > 知识库 > 使用Python 统计文件夹内所有pdf页数的小工具

使用Python 统计文件夹内所有pdf页数的小工具

热门标签:客户服务 电话运营中心 语音系统 Win7旗舰版 呼叫中心市场需求 企业做大做强 硅谷的囚徒呼叫中心 百度AI接口

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文件夹中。

运行效果:


小工具的下载链接

到此这篇关于Python 统计文件夹内所有pdf页数的小工具的文章就介绍到这了,更多相关Python 统计pdf页数的小工具内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • 20行Python代码实现一款永久免费PDF编辑工具的实现
  • 用python 制作图片转pdf工具
  • Python开发的单词频率统计工具wordsworth使用方法
  • Python快速优雅的批量修改Word文档样式
  • python提取word文件中的所有图片
  • 教你如何利用Python批量翻译英文Word文档并保留格式
  • 详解用Python把PDF转为Word方法总结
  • 使用python处理一万份word表格简历操作
  • python 三种方法提取pdf中的图片
  • 只用40行Python代码就能写出pdf转word小工具

标签:喀什 山西 济南 长沙 山西 安康 崇左 海南

巨人网络通讯声明:本文标题《使用Python 统计文件夹内所有pdf页数的小工具》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266