腾讯良心软件,被秒了!

简介: 在使用电脑的时候,我一直有个困扰,每次下载的文件都会默认选择一个文件夹,例如Downloads。

在使用电脑的时候,我一直有个困扰,每次下载的文件都会默认选择一个文件夹,例如Downloads

微信图片_20220421215349.png

任何种类的文件都混在那个文件夹里。

你有同样的问题吗?

如果你的回答是肯定的,那么,本文一定会对你起到一定的作用。

准备工作

我的文件有三个类别,取决于扩展名,如果你有自己的类别,可以继续添加:

  • 文件(.pdf、.docx、和.txt)
  • 音频(.m4a、.m4b和.mp3)
  • 图片 (.jpg, .jpeg, 和 .png)

然后,我想把每个文件移到一个具有预定义类别的文件夹中。

看到这里,关注平凡而诗意的同学应该知道,很久之前我分享过腾讯一款名为DeskGo的软件,可以实现这项功能,DeskGo也算得上腾讯难得的良心产品。

但是,或许很多同学并不是喜欢腾讯系软件臃肿、吃相难看的样子。

因此,本文就动手自己开发一款专属,而且更加好用的DeskGo

开发

导入模块ospathlib,对路径、文件和目录进行操作。

import os
from pathlib import Path

用你在准备工作中的清单,使用字典格式定义文件类别:

SUBDIR = {
        "DOCUMENTS":[".pdf",".docx",".txt"],
        "AUDIO":[".m4a",".m4b",".mp3"],
        "IMAGES":[".jpg",".jpeg",".png"]
        }

如果你想满足自己个性化的需求,你只需要把key-value修改成对应的文件类型-扩展名即可。

从已知的扩展名中挑选类别名称的功能。只需循环并检查你的文件扩展名,然后返回类别:

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():
        if item.is_dir():
                continue
        filePath = Path(item)
        fileType = filePath.suffix.lower()
        directory = pickDir(fileType)
        if directory == None:
            continue
        directoryPath = Path(directory)
        if directoryPath.is_dir() != True:
                directoryPath.mkdir()
        filePath.rename(directoryPath.joinpath(filePath))

调用organizationDir函数:

organizeDir()

运行

下面,就来运行代码,对比一下效果。

整理前

image.gif微信图片_20220421215356.png

整理后

微信图片_20220421215359.png

下面是完整的代码:

import os
from 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():
        if item.is_dir():
                continue
        filePath = Path(item)
        fileType = filePath.suffix.lower()
        directory = pickDir(fileType)
        if directory == None:
            continue
        directoryPath = Path(directory)
        if directoryPath.is_dir() != True:
                directoryPath.mkdir()
        filePath.rename(directoryPath.joinpath(filePath))
if __name__ == '__main__':
  organizeDir()

感兴趣的同学,赶快试一下吧!

相关文章
|
编解码 Linux Windows
5款免费开源软件推荐,总有一款适合你
最近后台收到好多小伙伴的私信,今天继续推荐五款小工具,都是免费使用的,大家可以去试试看。
896 1
|
机器学习/深度学习 编解码 算法
让你的电脑更有逼格的5款优质黑科技软件
作为一个黑科技软件爱好者,电脑里肯定是不会缺少这方面的东西,这不,我又带着5款优质软件闪亮登场了。
163 0
|
BI 图形学 数据库管理
天下苦广告久矣!分享五款免费且无广告的开源软件
在日常的使用中,我们需要使用各种软件来提高我们的工作效率或者进行创意的表达。然而,商业软件价格昂贵,某些国产软件又充斥着广告。因此,开源软件成为了一个不错的选择,以下是我推荐的五款优秀的开源软件。
180 1
天下苦广告久矣!分享五款免费且无广告的开源软件
|
缓存 开发者
推荐五款免费的开源软件,总有一款适合你
今天我为大家推荐五款不同类型的开源软件,它们都是免费的,而且有着各自的特色和优势。
835 1
推荐五款免费的开源软件,总有一款适合你
|
前端开发
值得推荐!安利5款良心又好用的小众软件
电脑上的各类软件有很多,除了那些常见的大众化软件,还有很多不为人知的小众软件,专注于实用功能,简洁干净、功能强悍。今天分享5个实用的软件,简单实用,效果拉满,堪称工作生活必备!
176 0
值得推荐!安利5款良心又好用的小众软件
|
搜索推荐 Windows
分享5款2023年不容错过的宝藏软件
今天带来五款宝藏软件,身为宝藏男孩和宝藏女孩的你们,不试一下吗?
221 0
分享5款2023年不容错过的宝藏软件
|
安全 Windows
5款十分小众,却又非常好用的良心软件
今天推荐5款十分小众的软件,知道的人不多,但是每个都是非常非常好用的,有兴趣的小伙伴可以自行搜索下载。
335 0
5款十分小众,却又非常好用的良心软件
|
JSON 运维 前端开发
分享 10 个我常逛的国外技术社区,真的受益匪浅
分享 10 个我常逛的国外技术社区,真的受益匪浅
|
数据采集 文字识别 索引
安利5款体积小、无广告、超实用的软件
大家好,我又来啦,今天给大家带来的几款软件,共同特点都是体积小、无广告、超实用,大家观看完可以自行搜索下载哦。
182 0
安利5款体积小、无广告、超实用的软件
|
安全 开发者 Windows
开源项目推荐:金山卫士源码
开源项目推荐:金山卫士源码
696 0