Python代码一键整理桌面

RS 技术•随笔评论885字数 1970阅读6分34秒阅读模式

乱糟糟的桌面,让心情也会潜移默化的变得烦躁,更重要的是,它会让我们的工作效率变的非常的低下,我们往往会想找某个文件,但是太多太杂乱的桌面往往让我们找起来变得非常的缓慢。

01程序执行流程图

Python代码一键整理桌面

 

02程序详解

下面我们来看一下程序是如何执行的吧,程序全部只有50行代码,非常的简单,我们首先需要定义文件类型的类别,如下图所示:

import glob
import os
import shutil


class FileType:
    def __init__(self):
        self.filetype = {
            "图片": [".jpeg", ".jpg", ".tiff", ".bmp", ".svg", ".heif", ".psd", ".gif", ".png"],
            "视频": [".avi", ".vob", ".mov", ".mp4", ".mpeg", "3gp“,”.wmv", "mng", ".qt", ".mpg"],
            "音频": [".aac", ".m4a", ".aa", ".dvf", ".m4p", ".msv", ".ogg", ".oga", ".raw", ".vox"],
            "文档": [".oxps", ".epub", ".docx", ".doc", ".fdf", ".ods", ".odt", ".pages", ".pwi", ".xlsx", ".psd",
                     ".otx", ".wpd", ".pdf", ".md", ".rvg", ".tf", ".rtfd", ".xls", ".xlsx", ".ppt", ".pptx", ".csv"],
            "压缩文件": [".a", ".ar", ".cpio", ".iso", ".tar", " 7z", ".dmg", ".zip", ".gz.rz", ".rar", ".xar"],
            "文本": [".txt", ".in", ".out"],
            "程序脚本": [".py", ".html5", ".html", ".htm", ".xhtml", ".c", ".cpp", ".java", ".css"],
            "可执行程序": [".exe"],
            "字体文件": [".ttf", ".OTE", ".WOFF", ".EOT"]
        }


def JudgeFile(self, pathname):
    for name, type in self.filetype.items():
        if pathname in type:
            return name
    return "无法判断类型文件"
  • 上述的程序中,我们首先统计了常见的文件的类型,包括了图片、视频和文档等类型;
  • 当输入文件后缀时,程序利用JudgeFile函数来判断文件属于何种类型,例如我们输入'.jpg',那么程序就会判断输入的时“图片”类型;
  • 然后就会返回“图片”的键值类型,如果输入的类型都不满足上述的文件类型,那么就返回“无法判断类型文件”。

有了判断文件类型的程序,接下来,我们就一个个的将文件送入JudgeFIle函数来判断,然后将文件根据判断的类型放入到对应的文件夹之内,程序如下所示:

class DeskTopOrg(object):
    def __init__(self):
        self.filetype = FileType() #初始化文件类型判断的类
def Organization(self):
    filepath = input("请输入需要整理的文件夹路径:")
    paths = glob.glob(filepath + "/**")  #列出文件夹下所有的文件
    print(paths)
    for path in paths:
        try:
            if not os.path.isdir(path):
                file = os.path.splitext(path)
                filename,type = file
                print(type)
                print(path)
                savePath = '/'.join(path.split("\")[:-1])+ '/{}'.format(self.filetype.JudgeFile(type))
                if not os.path.exists(savePath): #根据文件类型创建保存文件夹
                    os.mkdir(savePath)
                    shutil.move(path, savePath)
                else:
                    shutil.move (path, savePath)
        except FileNotFoundError:
            pass
    print("程序执行结束!")

上述的函数中,我们首先利用glob函数来列出指定文件夹内的所有文件(需要注意的是,我们对于指定文件夹内的文件夹是不进行处理的,因为文件夹内可能包含不同的文件类型,可能是特定的工程项目,是不能随便乱动的)。

然后我们调用JudgeFIle函数来判断文件的类别,并创建相应的文件夹,将该文件放入到该对应的文件夹内即可。

运行一下看一下,整理赶紧的桌面:

Python目前是最有趣的编程语言,能干很多好玩有趣的事情,小伙伴们赶紧操练起来。

继续阅读
 
RS
  • 本文由 RS 发表于 2023年2月28日 14:44:25
unraid安装所需的工具 技术•随笔

unraid安装所需的工具

中文语言包: 翻译完成后,如您希望在本地(临时)测试结果, 需要将文本文件压缩到单个ZIP文件中. 将ZIP文件命改为您翻译的语言, 例如. zh_CN.zip. 在WEB GUI中如下设置: 工具 ...
关闭Windows10的自动更新 技术•随笔

关闭Windows10的自动更新

关闭Windows 10的自动更新可以通过几种不同的方法实现,以下是一些常用的方法: 通过设置关闭更新 打开“设置”应用。 点击“更新与安全”。 选择“Windows Update”,然后点击“高级选...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定