乱糟糟的桌面,让心情也会潜移默化的变得烦躁,更重要的是,它会让我们的工作效率变的非常的低下,我们往往会想找某个文件,但是太多太杂乱的桌面往往让我们找起来变得非常的缓慢。
01程序执行流程图
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目前是最有趣的编程语言,能干很多好玩有趣的事情,小伙伴们赶紧操练起来。