Python 自动化办公实战课
尹会生
前游戏公司技术总监,前新浪网研发中心技术经理
21781 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 37 讲
Python 自动化办公实战课
15
15
1.0x
00:00/00:00
登录|注册

20|不同文件混在一起,怎么快速分类?

q.empty()
q.get()
shutil.move()
in操作
q.put()
os.walk()
os.path.isdir()
os.path.join()
os.makedirs()
字符串
元组
字典
分类并移动到新的文件夹
遍历目录并写入队列
建立分类文件夹
消费者
生产者
队列
分类规则的字典
设计合理的数据类型
按文件大小分类
实现分类
生产者消费者模式
设计分类规则
思考题
怎么快速分类

该思维导图由 AI 生成,仅供参考

你好,我是尹会生。
今天我们的内容要从一碗香喷喷的蛋炒饭开始。要想做一份传说中的蛋炒饭,肯定要放胡萝卜、黄瓜、火腿肠还有葱花等好多种类的食材。
这是不是像你的桌面一样,为了完成某一项目,需要将音频、视频、文档、图片等各种格式组合在一起。但你在你完成了项目之后,想要将它们进行整理的时候,会发现各类文件堆满了桌面,要想从桌面找都某个文件就像从蛋炒饭里将所有的葱花挑出来一样困难。
对于这种情况,我们可以采用 Python 按照扩展名,分门别类地整理到不同的目录,方法虽然找到了,但是在你动手写代码的时候发现也不容易,就像从蛋炒饭中把鸡蛋、米饭、胡萝卜丁、火腿肠等食材挑出来,分类型放在不同的盘子中。这无疑会让你非常头痛。
所以在今天这节课中,我就带你来学习一下,怎么用我们之前学习过的自定义函数、队列,来实现按照扩展名对文件的自动分类。

批量分类的方法与思路

在带你学习代码之前,我要先为你讲解一下解决这类问题的思路,因为像自动分类这种场景,可以被拆解成判断类型逻辑和移动逻辑,而这两个逻辑有前后顺序,还有前后依赖关系。这一大类问题,你在工作中会经常遇到,当你学会了这类问题的解决思路之后,再遇到同类问题,就能非常容易的想到处理逻辑,那再通过代码将你的思路实现出来,也就不在话下了。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了如何利用Python编写自定义函数和队列,实现对不同文件按照扩展名进行快速分类的方法。作者以蛋炒饭的制作过程类比桌面上文件的混乱情况,引出了分类文件的需求。在讲解代码之前,作者先讲解了解决这类问题的思路,包括设计合理的数据类型和生产者消费者模式。作者通过代码示例和目录结构对比,帮助读者理解自动分类代码的实现思路。在设计合理的数据类型方面,作者使用字典保存扩展名和文件类型的对应关系,并介绍了如何使用队列作为生产者消费者模式中的缓冲区,以实现文件的读取和分类。最后,作者简化了多线程并发访问缓冲区的代码,使读者能够先学会简单的生产者和消费者模式。整体而言,本文通过生动的比喻和清晰的代码示例,帮助读者快速了解了如何利用Python实现文件的快速分类。文章内容涵盖了Python编程中的自定义函数、队列以及生产者消费者模式的应用,为读者提供了实用的技术指导。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Python 自动化办公实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • LDxy
    好像把所有的功能都可以封装为函数,然后调用就行了。那什么情况下要使用类呢?见到有些python代码里面使用了类

    作者回复: 这个问题非常好。相对于类,函数定义和调用更加简单。 但是他在封装和继承上边要比类弱很多。从封装上来说,一般是一个功能,封装为一个函数。那么如果一个比较复杂的功能里面还有子功能,通过函数就很难来表达这样的概念。这时候可以使用类来表达一个复杂的一大类功能,再通过类当中的方法来去表达这一大类当中的子功能。 在继承方面也是这样,如果。有其他的函数,只引用当前函数的某一部分功能的时候,你不能将函数里面的部分代码再拆开成更小的函数。而累就可以通过继承的方式,通过子类来继承父类中的某一方法。达到指引用类中某一段代码的目的。 所以呢,如果追求简单还是用函数,追求封装继承还是要用类。

    2021-03-28
    5
  • mark for luck
    尹老师,能够建个微信群,学习前面就发现很多基础问题卡住了

    编辑回复: 课程简介页面可以入群哦

    2021-03-29
  • ifelse
    学习打卡
    2023-07-17归属地:浙江
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部