当前位置: 首页 > 知识库问答 >
问题:

来自蟒蛇的幻灯片计数?

巢嘉志
2023-03-14

计算特定目录中所有.docx.doc.ppt.pptx.pdf文件的总页数;但我对如何计算幻灯片有点困惑。

这是我尝试过的:

from glob import glob
from PyPDF2 import PdfFileReader
import win32com.client

def pdf_page_count(filename):
    curr = open(filename, "rb")
    page_count = PdfFileReader(curr).getNumPages()
    curr.close()
    return page_count

def presentation_slide_count(filename):
    Application = win32com.client.Dispatch("PowerPoint.Application")
    Presentation = Application.Presentations.Open(filename)
    slide_count = len(Presentation.Slides)
    Presentation.Close()
    return slide_count

if __name__=='__main__':
    powerpoints = glob('*/*/*.pptx') + glob('*/*/*.ppt')
    documents = glob('*/*/*.docx') + glob('*/*/*.doc')
    pdf = glob('*/*/*.pdf')

    total_pdf_pages = sum([pdf_page_count(pdf) for pdf in pdf])
    total_docx_pages = 0
    total_powerpoint_slides = sum([presentation_slide_count(presentation)
                                   for presentation in powerpoints])

    print total_pdf_pages
    print total_powerpoint_slides

此外,我尝试使用python-pptx,但收到了lxml错误(因此尝试构建我自己的lxml;这在icon v依赖问题上出错)。此外,由于它只支持pptx,我需要为ppt找到另一种方法。PowerPoint 2013 x64已安装,我使用的是Python 2.7.4 x64。

共有2个答案

曾嘉言
2023-03-14

我认为最简单的方法是这样。这样我就可以得到总幻灯片数。

from pptx import Presentation
prs = Presentation("path/example.pptx")
print(len(prs.slides))
怀洛华
2023-03-14

好了,想通了答案。

它似乎不喜欢相对路径。

将此行添加到该函数可以解决问题:

from os import getcwd

filename = getcwd() + '//' + filename
 类似资料:
  • 问题内容: 我正在做一个猜谜游戏的AI部分。我希望AI从此列表中选择一个随机字母。我将其设置为一组,这样我就可以轻松地从列表中删除字母,因为它们在游戏中会被猜测出来,因此不再可供再次猜测。 它说对象不可索引。我该如何解决? 问题答案: 注意(2020年10月): 从v3.9开始,Python正式弃用 了集合,官方指导是在传入之前将集合显式转换为列表或元组。 文档:https : //docs.py

  • 使用幻灯片组件,你需要在 sm.js 和 sm.css 之后额外引入如下两个文件: <link rel="stylesheet" href="//g.alicdn.com/msui/sm/0.6.2/css/sm-extend.min.css"> <script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm-exte

  • Progress,进度条,用于上传、下载等耗时并且需要显示进度的场景,用户可以随时中断该操作。在mpvue框架中实现这个功能是基于小程序的原生progress 组件,这里主要说一下它percent属性: percent 类型:Float 默认值:无 可选值:0-100 说明:百分比0~100 要实现上传或者下载过程中显示进度的效果,就需要实时修改 percent属性的值,下面示例代码是每隔 20m

  • 幻灯片秀 自动依顺序显示每张图像。 播放幻灯片秀 同时播放音乐与幻灯片秀 使用操作接口 利用PSP™主机的按钮或线控装置进行操作

  • 幻灯片相关的标签有两个,slides和 noslides slides标签 这个标签其实就一个循环标签,只是会把你指定的幻灯片数据获取出来 | 标签名 | 作用 | 包含属性 | | --- | --- | --- | | slides | 生成幻灯片 |id,item | 标签属性: | 标签属性名 | 含义 | | --- | --- | | id |后台幻灯片 id,必须 | | item

  • 在后台扩展工具》幻灯片分类 添加分类标识为"portal_index"的分类,然后在此分类添加幻灯片; cat_name:幻灯片类型名称 cat_idname:幻灯片标示 slide_name:幻灯片名称 slide_pic:幻灯片图片地址 slide_url:幻灯片URL slide_des:幻灯片描述 slide_content:幻灯片内容 <php> $home_slides=sp_get