腾讯良心软件,被秒了!

简介: 在使用电脑的时候,我一直有个困扰,每次下载的文件都会默认选择一个文件夹,例如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()

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

相关文章
|
8月前
|
人工智能 自然语言处理 安全
新年愿望清单:搭建官网选哪家?
而今立足「SaaS系统」面向中小企业的各种低成本建站产品让人眼花缭乱,小云对比了几大厂牌,梳理出一些【阿里云精选建站】的功能亮点,篇幅有限,各位看官可酌情参考——
180 0
|
Windows
分享5款小众且无广告的软件,走过路过别错过
你是否喜欢一些小众且无广告的软件?如果是的话,那可不要错过今天我给你们推荐的这5款软件。
68 0
|
机器学习/深度学习 编解码 算法
让你的电脑更有逼格的5款优质黑科技软件
作为一个黑科技软件爱好者,电脑里肯定是不会缺少这方面的东西,这不,我又带着5款优质软件闪亮登场了。
164 0
|
自然语言处理 Windows
电脑小白不要错过这五款小众但强大的软件
电脑上的各类软件有很多,除了那些常见的大众化软件,还有很多不为人知的小众软件,专注于实用功能,简洁干净、功能强悍。
222 1
|
BI 图形学 数据库管理
天下苦广告久矣!分享五款免费且无广告的开源软件
在日常的使用中,我们需要使用各种软件来提高我们的工作效率或者进行创意的表达。然而,商业软件价格昂贵,某些国产软件又充斥着广告。因此,开源软件成为了一个不错的选择,以下是我推荐的五款优秀的开源软件。
184 1
天下苦广告久矣!分享五款免费且无广告的开源软件
|
前端开发
值得推荐!安利5款良心又好用的小众软件
电脑上的各类软件有很多,除了那些常见的大众化软件,还有很多不为人知的小众软件,专注于实用功能,简洁干净、功能强悍。今天分享5个实用的软件,简单实用,效果拉满,堪称工作生活必备!
179 0
值得推荐!安利5款良心又好用的小众软件
|
安全 Windows
5款十分小众,却又非常好用的良心软件
今天推荐5款十分小众的软件,知道的人不多,但是每个都是非常非常好用的,有兴趣的小伙伴可以自行搜索下载。
338 0
5款十分小众,却又非常好用的良心软件
|
JSON 运维 前端开发
分享 10 个我常逛的国外技术社区,真的受益匪浅
分享 10 个我常逛的国外技术社区,真的受益匪浅
|
搜索推荐 数据安全/隐私保护 Windows
这5款PC工具不容错过,抓紧收藏起来
今天,小编属于是把自己压箱底的软件都发出来了,软件都是小巧耐用,不带广告的,赶紧下载起来吧!
158 0
|
数据采集 文字识别 索引
安利5款体积小、无广告、超实用的软件
大家好,我又来啦,今天给大家带来的几款软件,共同特点都是体积小、无广告、超实用,大家观看完可以自行搜索下载哦。
185 0