晚上吃饭时突然想知道自己做了多少页《Python程序设计》系列教材的配套PPT,于是就有了下面的代码,这套PPT综合了《Python程序设计基础》(ISBN:9787302410584)、《Python程序设计(第2版)》(ISBN:9787302436515)和《Python可以这样学》(ISBN:9787302456469)以及将要出版的《Python程序设计开发宝典》4本书的内容,部分内容比书上详细,有的地方不如书上详细,主要是上课用,几本书重点介绍Python 3.4.x、3.5.x、3.6.x的语法和应用,全套课件均已免费分享。

import os
import os.path
import win32com
import win32com.client

total = 0

def pptCount(path):
    global total
    for subPath in os.listdir(path):
        subPath = os.path.join(path, subPath)
        if os.path.isdir(subPath):
            pptCount(subPath)
        elif subPath.endswith('.ppt'):
            print(subPath)
            powerpoint = win32com.client.Dispatch('PowerPoint.Application')
            powerpoint.Visible = 1
            ppt = powerpoint.Presentations.Open(subPath)
            win32com.client.gencache.EnsureDispatch('PowerPoint.Application')
            total += ppt.Slides.Count
            powerpoint.Quit()

pptCount('F:\\教学课件\\Python程序设计(第二版)')
print(total)

运行结果显示:

pptx肿么办?

首先:

pip install python-pptx

然后:

>>> import pptx
>>> p = pptx.Presentation('f:\\1.pptx')
>>> len(p.slides)
3

另外,关于昨天发的文章再补充一下,原文参见Python计算序列中数字最大差值(美团2016校招笔试题)

昨天发文之后立刻有上海交大李老师和读者朋友zhouyonghaha指出算法效率太低,其实一次循环就可以,开始我还不太明白,想了一下果然如此,于是有了下面的高效代码,算作一个补充:

from random import randrange

def maxDifference2(lst):
    diff = -float('inf')    
    minCurrent = lst[0]    
    for value in lst[1:]:
        if value < minCurrent:
            minCurrent = value
        else:
            t = value-minCurrent
            if t > diff:
                diff = t
                result = (minCurrent, value)
    return result

for _ in range(10):
    print('='*20)
    lst = [randrange(1,100) for _ in range(20)]
    print(lst)
    print(maxDifference2(lst))

运行结果显示:

====================
[22, 20, 32, 66, 22, 74, 74, 31, 88, 94, 18, 35, 47, 75, 14, 83, 44, 57, 53, 95]
(14, 95)
====================
[60, 15, 46, 36, 93, 45, 92, 56, 36, 57, 87, 80, 47, 4, 72, 18, 79, 32, 35, 1]
(15, 93)
====================
[4, 40, 92, 99, 87, 14, 52, 55, 35, 52, 1, 53, 50, 46, 39, 53, 29, 8, 45, 32]
(4, 99)
====================
[41, 53, 52, 47, 93, 67, 18, 38, 77, 12, 87, 42, 43, 2, 16, 32, 20, 54, 33, 72]
(12, 87)
====================
[68, 41, 29, 33, 23, 81, 5, 41, 17, 54, 69, 29, 90, 10, 57, 88, 14, 30, 69, 81]
(5, 90)
====================
[1, 46, 27, 47, 68, 44, 89, 15, 2, 10, 32, 90, 45, 79, 33, 99, 21, 61, 79, 21]
(1, 99)
====================
[64, 58, 97, 65, 15, 13, 35, 86, 25, 58, 26, 51, 65, 14, 6, 98, 90, 25, 98, 42]
(6, 98)
====================
[55, 14, 18, 57, 40, 27, 55, 93, 21, 16, 48, 32, 93, 69, 50, 13, 89, 98, 59, 40]
(13, 98)
====================
[11, 19, 17, 96, 21, 25, 74, 71, 78, 8, 49, 58, 57, 36, 72, 56, 83, 93, 41, 65]
(11, 96)
====================
[48, 95, 56, 44, 42, 40, 83, 86, 82, 50, 73, 88, 98, 52, 28, 60, 33, 17, 68, 59]
(40, 98)

Python统计多个Powerpoint文件中幻灯片总数量相关推荐

  1. 批量统计多个PPTX文件中幻灯片总数量

    代码功能:统计指定文件夹及其子文件夹中所有PPTX文件中幻灯片总数量. 要求:安装扩展库python-pptx. 参考代码: 运行结果: ---------董付国老师Python系列教材------- ...

  2. python 统计多个json文件中某个标签的数量

    1.json文件数据 json文件数据长这样: 然后我们有多个json文件: 目标: 我们现在需要统计每个json文件所有label标签后的值的数量. 2.代码 import json from os ...

  3. 使用Python操作PowerPoint文件中的表格

    首先安装扩展库python-pptx,然后下面的代码用来创建PowerPoint演示文档并创建幻灯片,插入表格,写入单元格数据,然后再打开该演示文档并输出表格中的内容. 运行程序后,得到的PowerP ...

  4. Python批量提取PowerPoint文件中所有幻灯片标题和备注文本

    小知识: 在制作PowerPoint演示文档时,可以在幻灯片下面添加备注,在双屏播放PPT并设置了演讲者视图时可以给讲者提供一些提示信息,防止忘词,也可以提示下一页幻灯片的内容是什么使得讲者能够完美过 ...

  5. python遍历文本文件统计字符个数_用python获取txt文件中关键字的数量

    缘起: 开发人员需要tomcat中一个项目在一个月的访问请求量,因其他原因只剩下查找tomcat请求日志的方法获取,刚好最近在学习python,于是就用python摸索了下: 大体思路: 1.把相应t ...

  6. excel调用python编程-使用Python和xlwt向Excel文件中写入中文的实例

    sheet1.write(row_num,0,f) row_num = 1 book.save('demo.xls') 程序执行结果如下: grey@DESKTOP-3T80NPQ:/mnt/e/01 ...

  7. Python统计网站访问日志log中的IP信息,并排序。。

    Python统计网站访问日志log中的IP信息,并排序,打印排名靠前的IP及访问量.示例代码如下: #!/usr/bin/env pythonipdict = {}file = open(" ...

  8. 统计rgb与yuv文件中各分量的熵

    统计rgb与yuv文件中各分量的熵 要求 提示 代码 结果 分析 要求 对群里发的down.rgb和down.yuv分析三个通道的概率分布,并计算各自的熵. 提示 两个文件的分辨率均为256*256, ...

  9. Python使用pdfminer3k提取PDF文件中的文本

    推荐教材: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国,清华大学出版社,2020年6月第1次印刷,2021年12月第11次印刷,山东省一流 ...

最新文章

  1. Safari 14.0 的功臣 Webp?
  2. WEB入门实践-张晨光-专题视频课程
  3. linux下qq怎么截图,ubuntu 12.04使用QQ截图安装教程
  4. [转载] 华中科技大学期刊分类办法
  5. 雪城大学信息安全讲义 六、输入校验
  6. js定时器异步请求时候 上一个请求没有响应时下一个请求已经开始_关于异步的理解...
  7. timestamp ---自动更新修改时间 与 记录首次插入时间
  8. code-server安装使用
  9. cocos2d-x3.0 关于CCAnimate 的一些资料
  10. java之Junit
  11. C:\Users\用户名\AppData\Roaming里面的文件可以删除吗?
  12. rabbitmq使用mqtt协议
  13. 深入分析一个经典的单片机供电电路
  14. ctcpejmu单词_高分子英语单词
  15. Linux下配置JSHOP2环境
  16. 流氓软件“实名制” 午夜影院乔装正规军
  17. 2021年计算机二级考试系统是哪个版本?
  18. 列出叶节点 (二叉树的建立和BFS)
  19. python之中文符号转英文符号
  20. HIVE常用参数配置

热门文章

  1. C语言程序所以,C语言程序(1)
  2. java过滤器解决乱码_[java]如何使用过滤器解决jsp乱码
  3. 电大本科c及语言设计形考答案,2020国家开放大学电大《C语言程序设计》网络课形考任务4作业及答案(15页)-原创力文档...
  4. 单片机和微型计算机硬件组成的异同,嵌入式和单片机的区别是什么?两者有什么联系...
  5. android 屏幕适配dimens,关于android:安卓屏幕适配一键生成dimens文件
  6. mysql 查看某数据库中所有表的行数,information_schema.tables不准确。count(*)拼接准确。
  7. distcc 链接失败_distcc分布式编译时,icu host程序偶现编译失败原因分析
  8. Intent 隐示意图
  9. HTML用于定义宽度的是,HTML Style columnRuleWidth用法及代码示例
  10. $.ajax()方法