大数跨境
0
0

使用Python以懒人的方式快速组织文件

使用Python以懒人的方式快速组织文件 AI算法之道
2022-01-13
0
导读:本文使用Python实现了快速将一个目录下的声音,文档和图像进行类别归档的功能,原理简单,但是可以极大地提升我们的工作效率。




01


引言


有时我在电脑的 “下载” 文件夹中的存放很多类型的文件。看上去非常凌乱,

你有同样的问题吗?

那么是否可以开发一个简单的Python脚本,来帮助我们将该目录下的文件分门别类的组织好,即将相同类型的文件存放在同一个目录下,从而解放我们的双手呢?


答案当然是肯定的,接下来我们就来实现上述小工具吧。。。



02


场景再现


不妨假设我们在Download目录下下载了3个类型的文件,这三个类型的文件后缀名是不同的。如下所示:

  • 文档文件(.pdf .docx 和 .txt)
  • 声音文件(.m4a .m4b 和 .mp3)

  • 图像文件  (.jpg .jpeg 和 .png)

接着,我想将每个文件移动到具有相应类别的文件夹中。



03


代码实现


导入依赖库:

这里我们需要导入os和pathlib库,用来处理路径,文件和目录,代码如下:
import osfrom pathlib import Path
准备工作:
这里我们需要定义每个类型的文件对应的存放目录,我们采用字典格式来实现,代码如下:
SUBDIR = {          "DOCUMENTS":[".pdf",".docx",".txt"],          "AUDIO":[".m4a",".m4b",".mp3"],          "IMAGES":[".jpg",".jpeg",".png"]        }
当然,我们可以根据实际情况对列表中的每个子项进行扩充。
获取文件目录
接着我们来实现从已知文件扩展名来选择所属目录的功能。这里我们只需循环并检查我们的文件扩展名,然后返回对应的类别即可。
代码如下:
def pickDir(value):    for category, ekstensi in SUBDIR.items():        for suffix in ekstensi:            if suffix == value:                return category
主函数:
将整个依据文件扩展名归档文件的功能,封装成函数,代码如下:
def organizeDir():    for item in os.scandir():          #just looking for file, skip the directory        if item.is_dir():                continue        filePath = Path(item)        fileType = filePath.suffix.lower()        directory = pickDir(fileType)                #just skip, if the file extension not defined.        if directory == None:            continue                directoryPath = Path(directory)        #make new directory if the category's directory not found.        if directoryPath.is_dir() != True:                directoryPath.mkdir()        filePath.rename(directoryPath.joinpath(filePath))
代码执行:
最后我们来调用 organizeDir() 函数。
代码如下:
organizeDir()


04


运行效果


代码运行前:

缩略图展示效果:

运行上述代码之后:

缩略图展示效果:



05


总结


本文使用Python实现了快速将一个目录下的声音,文档和图像进行类别归档的功能,原理简单,但是可以极大地提升我们的工作效率。


最后,祝愿大家在日常生活中可以开发更多实用的小工具。


最最后, 您学废了吗?




关注公众号,后台回复 File,即可获取源代码。


【声明】内容源于网络
0
0
AI算法之道
一个专注于深度学习、计算机视觉和自动驾驶感知算法的公众号,涵盖视觉CV、神经网络、模式识别等方面,包括相应的硬件和软件配置,以及开源项目等。
内容 573
粉丝 0
AI算法之道 一个专注于深度学习、计算机视觉和自动驾驶感知算法的公众号,涵盖视觉CV、神经网络、模式识别等方面,包括相应的硬件和软件配置,以及开源项目等。
总阅读23
粉丝0
内容573