您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > Python

用 Python 高效智能管理文件夹

时间:2020-06-11 13:40:53  来源:  作者:
用 Python 高效智能管理文件夹
 
 
 

大家在写报告、写总结时,是否会先去翻一下以前写过的类似的东西?是否有看过比较好的文章,想保存时却为归类而纠结?是否电脑里的文件越来越多,想删掉一些却又舍不得?身处大数据和人工智能的时代,如何节约时间,提高工作效率,快速积累知识并使用知识呢?本文分享一种知识整理术,并提供一个实用的小工具。

一、认识“元认知”

知识是什么,在信息时代之前,知识大部分依存于记忆;在信息时代初,知识主要变成了一种能搜索和利用信息的能力;而随着信息化的深入,个人要获取各种知识越来越容易,因此我们需要一种是整合内外部资源,结构化管理多种知识的技能。

用 Python 高效智能管理文件夹
 
 
 

也就是说,我们要强化我们的元认知,来管理好自己的技能库。元认知是美国心理学家J.H.Flavell在1976年提出的概念,意思是“反映或调节认知活动的任一方面的知识或认知活动,即认知的认知”。本文通俗地把其定义为一种高效学习知识、使用知识的技能。

二、使用笔记,节约认知资源,节约认知资源,更新知识树更新知识树

不断学习不断遗忘,是人的天性。遗忘也让宝贵的认知资源及时回收,让人脑轻装上阵,随时保持良好的状态。但是我们真的要抛弃以前做过的事情,或者说遗忘知识吗?不是的,人生不是小说创作,我们也不知道自己的终极技能是什么,向前走一步才能看到下一步的路,我们不能轻易遗忘,要做好笔记。随着经历增加,知识在不断积累,小心养好自己的知识树。世事迁移,某些枝叶可能变成主干,某些主干也可能变成枝叶。把过程保存下来,不仅能看到自己的进步,也能看到自己所朝着的方向,岂不很有意义?

如果把人脑比作电脑,人的记忆就是内存,容量小而响应速度快,而外部笔记就是硬盘

用 Python 高效智能管理文件夹
 
 
 

要降低人脑的记忆负荷,就要更好的利用硬盘。硬盘读写速度越快越好,同理,好的笔记方法要能快速记录,方便查询,和结构化展示。现在市场上几乎没有集3个优点合一的笔记方法。要么是写入太麻烦,要么是查找不方便,能够结构化展示内容的更少。

三、高效管理文件夹的方法,就是最好的笔记

要快速记录笔记,最好的方法就是让程序自动做”笔记”。把自己曾经做过的事情,按结构存放于各个文件夹中,自然就做成自己的知识树了。不知道大家有没有用过思维导图,我曾经很热衷于这样的结构工具,但它一个是要收费;而且画出如下的结构图(仅是举例,内容不重要)只能完全手动,花费时间长;最后它不开源,不能个性化新增功能。

用 Python 高效智能管理文件夹
 
 
 

我这个程序的设想就是制作类似思维导图功能的工具,但最大优点是自动化,只要把这个工具放入所在文件夹中,就能根据文件夹结构生成图谱。还强化了文件夹的个性化操作功能。例如在某些文件夹或文件上标注“待处理”文字的话,能够将该文件名放置到待处理区域,提醒用户办理。整体界面如下:

用 Python 高效智能管理文件夹
 
 
 

这个程序有如下的本地文件夹管理功能:

(一)能自动画出文件结构图,展开缩放。按照最近编辑时间先后排序。

(二)使用本程序打开本地文件夹。

(三)展示所有文件的最近编辑时间。

(四)展示待处理文件,提示待办事项。

(五)可以根据关键词在目标文件夹中查找文件内容。例如深入查找docx文件中的段落,和Python程序中的代码。

用 Python 高效智能管理文件夹
 
 
 

四、各步骤及核心代码

思路是用python的os库分析文件结构,用python的flask作为后台建立本地服务器,用html做前台展示界面,实现交互功能。文件结构如下,主程序为flaskhtml.py,在templates里面放上home.html,html中的文件结构图采用echarts的tree图。

用 Python 高效智能管理文件夹
 
 
 

(一)使用python的os库分析文件结构。将这个结构保存为dataframe格式。这

部分关键就是要写个循环,遍历到所有文件夹的最内层。用os.listdir获取文件名list,把文件名记录到一个dataframe,核心代码如下:

1.获取第二层文件夹名字(第一层就是默认以“我的文件夹”为名)

用 Python 高效智能管理文件夹
 
 
 

2.用循环获取第三层直至最后一层的文件夹名字(再次用os.listdir打开储存在dataframe中的文件夹路径,获取该链接下的文件名,如果本层级的所有文件夹下面都没有文件了,就跳出循环;否则就继续深入。)

我这里先设定了深入到20层,一般文件夹用不到20层,就会结束循环。

用 Python 高效智能管理文件夹
 
 
 

3.获取文件的最近一次修改时间

用 Python 高效智能管理文件夹
 
 
 

4.最终得到如下的层级结构

用 Python 高效智能管理文件夹
 
 
 

(二)将dataframe(df)转化成符合tree图要求的list格式数据。

tree图中,每个点的属性有三个:name,value,children。name是某个点的名字,value是该点的自定义内容,我把每个文件夹的链接地址和修改时间储存到value中。每一个点不一定都有childeren属性,它是包含该点下一层级支点的信息,下一层支点又可以带有以上三个属性。

也是类似地按照第一步一层层地将dataframe转变成list,不同的是,第一步的层级结构是要从文件夹里分析出来的,这一步是从那个df里面读取的。

(三)在html中增加其他功能的按钮,使其能和本地python程序交互。例如根据文件夹路径打开文件夹;根据搜索的关键词,查找本地文件夹名字或者文件内容。

用 Python 高效智能管理文件夹
 
 
 

(四)最后,使用flask搭建本地服务器,在浏览器上使用本软件。

用 Python 高效智能管理文件夹
 
 
 

用flask将本地处理好的数据上传到html。运行flaskhtml.py之后,出现如下界面,就代表本地网站服务器已经运行了,打开浏览器,输入网址127.0.0.1:5000,就可以打开主页面了。

用 Python 高效智能管理文件夹
 
 
 


Tags:Python   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
大家好,我是菜鸟哥,今天跟大家一起聊一下Python4的话题! 从2020年的1月1号开始,Python官方正式的停止了对于Python2的维护。Python也正式的进入了Python3的时代。而随着时间的...【详细内容】
2021-12-28  Tags: Python  点击:(1)  评论:(0)  加入收藏
学习Python的初衷是因为它的实践的便捷性,几乎计算机上能完成的各种操作都能在Python上找到解决途径。平时工作需要在线学习。而在线学习的复杂性经常让人抓狂。费时费力且效...【详细内容】
2021-12-28  Tags: Python  点击:(1)  评论:(0)  加入收藏
Python 是一个很棒的语言。它是世界上发展最快的编程语言之一。它一次又一次地证明了在开发人员职位中和跨行业的数据科学职位中的实用性。整个 Python 及其库的生态系统使...【详细内容】
2021-12-27  Tags: Python  点击:(2)  评论:(0)  加入收藏
菜单驱动程序简介菜单驱动程序是通过显示选项列表从用户那里获取输入并允许用户从选项列表中选择输入的程序。菜单驱动程序的一个简单示例是 ATM(自动取款机)。在交易的情况下...【详细内容】
2021-12-27  Tags: Python  点击:(4)  评论:(0)  加入收藏
近日只是为了想尽办法为 Flask 实现 Swagger UI 文档功能,基本上要让 Flask 配合 Flasgger, 所以写了篇 Flask 应用集成 Swagger UI 。然而不断的 Google 过程中偶然间发现了...【详细内容】
2021-12-23  Tags: Python  点击:(6)  评论:(0)  加入收藏
有不少同学学完Python后仍然很难将其灵活运用。我整理15个Python入门的小程序。在实践中应用Python会有事半功倍的效果。01 实现二元二次函数实现数学里的二元二次函数:f(x,...【详细内容】
2021-12-22  Tags: Python  点击:(32)  评论:(0)  加入收藏
Verilog是由一个个module组成的,下面是其中一个module在网表中的样子,我只需要提取module名字、实例化关系。module rst_filter ( ...); 端口声明... wire定义......【详细内容】
2021-12-22  Tags: Python  点击:(8)  评论:(0)  加入收藏
运行环境 如何从 MP4 视频中提取帧 将帧变成 GIF 创建 MP4 到 GIF GUI ...【详细内容】
2021-12-22  Tags: Python  点击:(6)  评论:(0)  加入收藏
面向对象:Object Oriented Programming,简称OOP,即面向对象程序设计。类(Class)和对象(Object)类是用来描述具有相同属性和方法对象的集合。对象是类的具体实例。比如,学生都有...【详细内容】
2021-12-22  Tags: Python  点击:(9)  评论:(0)  加入收藏
所谓内置函数,就是Python提供的, 可以直接拿来直接用的函数,比如大家熟悉的print,range、input等,也有不是很熟,但是很重要的,如enumerate、zip、join等,Python内置的这些函数非常...【详细内容】
2021-12-21  Tags: Python  点击:(5)  评论:(0)  加入收藏
▌简易百科推荐
大家好,我是菜鸟哥,今天跟大家一起聊一下Python4的话题! 从2020年的1月1号开始,Python官方正式的停止了对于Python2的维护。Python也正式的进入了Python3的时代。而随着时间的...【详细内容】
2021-12-28  菜鸟学python    Tags:Python4   点击:(1)  评论:(0)  加入收藏
学习Python的初衷是因为它的实践的便捷性,几乎计算机上能完成的各种操作都能在Python上找到解决途径。平时工作需要在线学习。而在线学习的复杂性经常让人抓狂。费时费力且效...【详细内容】
2021-12-28  风度翩翩的Python    Tags:Python   点击:(1)  评论:(0)  加入收藏
Python 是一个很棒的语言。它是世界上发展最快的编程语言之一。它一次又一次地证明了在开发人员职位中和跨行业的数据科学职位中的实用性。整个 Python 及其库的生态系统使...【详细内容】
2021-12-27  IT资料库    Tags:Python 库   点击:(2)  评论:(0)  加入收藏
菜单驱动程序简介菜单驱动程序是通过显示选项列表从用户那里获取输入并允许用户从选项列表中选择输入的程序。菜单驱动程序的一个简单示例是 ATM(自动取款机)。在交易的情况下...【详细内容】
2021-12-27  子冉爱python    Tags:Python   点击:(4)  评论:(0)  加入收藏
有不少同学学完Python后仍然很难将其灵活运用。我整理15个Python入门的小程序。在实践中应用Python会有事半功倍的效果。01 实现二元二次函数实现数学里的二元二次函数:f(x,...【详细内容】
2021-12-22  程序汪小成    Tags:Python入门   点击:(32)  评论:(0)  加入收藏
Verilog是由一个个module组成的,下面是其中一个module在网表中的样子,我只需要提取module名字、实例化关系。module rst_filter ( ...); 端口声明... wire定义......【详细内容】
2021-12-22  编程啊青    Tags:Verilog   点击:(8)  评论:(0)  加入收藏
运行环境 如何从 MP4 视频中提取帧 将帧变成 GIF 创建 MP4 到 GIF GUI ...【详细内容】
2021-12-22  修道猿    Tags:Python   点击:(6)  评论:(0)  加入收藏
面向对象:Object Oriented Programming,简称OOP,即面向对象程序设计。类(Class)和对象(Object)类是用来描述具有相同属性和方法对象的集合。对象是类的具体实例。比如,学生都有...【详细内容】
2021-12-22  我头秃了    Tags:python   点击:(9)  评论:(0)  加入收藏
所谓内置函数,就是Python提供的, 可以直接拿来直接用的函数,比如大家熟悉的print,range、input等,也有不是很熟,但是很重要的,如enumerate、zip、join等,Python内置的这些函数非常...【详细内容】
2021-12-21  程序员小新ds    Tags:python初   点击:(5)  评论:(0)  加入收藏
Hi,大家好。我们在接口自动化测试项目中,有时候需要一些加密。今天给大伙介绍Python实现各种 加密 ,接口加解密再也不愁。目录一、项目加解密需求分析六、Python加密库PyCrypto...【详细内容】
2021-12-21  Python可乐    Tags:Python   点击:(8)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条