重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这期内容当中小编将会给大家带来有关利用Python怎么编写一个自动整理文件的脚本,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
创新互联建站长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为白碱滩企业提供专业的成都网站建设、网站制作,白碱滩网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。import os import glob import shutil ''' @Author: huny @date: 2020.12.06 @function: 桌面整理 ''' class FileType(): def __init__(self): self.filetype = { "图片": [".jpeg", ".jpg", ".tiff", ".gif", ".bmp", ".png", ".bpg", "svg", ".heif", ".psd"], "视频": [".avi", ".flv", ".wmv", ".mov", ".mp4", ".webm", ".vob", ".mng", ".qt", ".mpg", ".mpeg", ".3gp", ".mkv"], "音频": [".aac", ".aa", ".aac", ".dvf", ".m4a", ".m4b", ".m4p", ".mp3", ".msv", ".ogg", ".oga", ".raw", ".vox", ".wav", ".wma"], "文档": [".oxps", ".epub", ".pages", ".docx", ".doc", ".fdf", ".ods", ".odt", ".pwi", ".xsn", ".xps", ".dotx", ".docm", ".dox", ".rvg", ".rtf", ".rtfd", ".wpd", ".xls", ".xlsx", ".ppt", ".pptx", ".csv", ".pdf", ".md",".xmind"], "压缩文件": [".a", ".ar", ".cpio", ".iso", ".tar", ".gz", ".rz", ".7z", ".dmg", ".rar", ".xar", ".zip"], "文本": [".txt", ".in", ".out",".json",".xml",".log"], "程序脚本": [".py", ".html5", ".html", ".htm", ".xhtml",s".c", ".cpp", ".java", ".css",".sql"], "可执行程序": [".exe",".bat", ".lnk"], "字体文件": [".ttf", ".OTF", ".WOFF", ".EOT"] } def JudgeFile(self, pathname): for name, type in self.filetype.items(): if pathname in type: return name return "无法判断类型文件" class DeskTopOrg(object): def __init__(self): self.filetype = FileType() def Organization(self): filepath = os.path.join(os.path.expanduser('~'),"Desktop") paths = glob.glob(filepath + "/*.*") # print('paths-->',paths) for path in paths: try: if not os.path.isdir(path): file = os.path.splitext(path) filename,type = file # print('type-->',type) # print("filename-->",filename) print('path-->',path) dir_path = os.path.dirname(path) # print('dir_path-->',dir_path) savePath = dir_path + '/{}'.format(self.filetype.JudgeFile(type)) print('savePath-->',savePath) if not os.path.exists(savePath): os.mkdir(savePath) shutil.move(path, savePath) else: shutil.move(path, savePath) except FileNotFoundError: pass # print("程序执行结束!") if __name__ == '__main__': try: while True: desktopOrg = DeskTopOrg() desktopOrg.Organization() print("---->你的桌面已经整理完成。") a = input('---->请按回车键退出:') if a == '': break except BaseException: print("ERROE:路径错误或有重复的文档")
整理完了,桌面清爽了不少。(注意此脚本是按后缀进行分类归档的)
基于这个我想是否可以对其他不同的路径进行整理呢,于是又优化了一下
import os import glob import shutil ''' @Author: huny @date: 2020.12.06 @function: 文件整理 ''' class FileType(): def __init__(self): self.filetype = { "图片": [".jpeg", ".jpg", ".tiff", ".gif", ".bmp", ".png", ".bpg", "svg", ".heif", ".psd"], "视频": [".avi", ".flv", ".wmv", ".mov", ".mp4", ".webm", ".vob", ".mng", ".qt", ".mpg", ".mpeg", ".3gp", ".mkv"], "音频": [".aac", ".aa", ".aac", ".dvf", ".m4a", ".m4b", ".m4p", ".mp3", ".msv", ".ogg", ".oga", ".raw", ".vox", ".wav", ".wma"], "文档": [".oxps", ".epub", ".pages", ".docx", ".doc", ".fdf", ".ods", ".odt", ".pwi", ".xsn", ".xps", ".dotx", ".docm", ".dox", ".rvg", ".rtf", ".rtfd", ".wpd", ".xls", ".xlsx", ".ppt", ".pptx", ".csv", ".pdf", ".md",".xmind"], "压缩文件": [".a", ".ar", ".cpio", ".iso", ".tar", ".gz", ".rz", ".7z", ".dmg", ".rar", ".xar", ".zip"], "文本": [".txt", ".in", ".out", ".json","xml",".log"], "程序脚本": [".py", ".html5", ".html", ".htm", ".xhtml", ".c", ".cpp", ".java", ".css",".sql"], "可执行程序": [".exe",".bat",".lnk"], "字体文件": [".ttf", ".OTF", ".WOFF", ".EOT"] } def JudgeFile(self, pathname): for name, type in self.filetype.items(): if pathname in type: return name return "无法判断类型文件" class DeskTopOrg(object): def __init__(self): self.filetype = FileType() def Organization(self): filepath = input("请输入需要整理的文件夹路径: ") paths = glob.glob(filepath + "/*.*") print('paths-->',paths) for path in paths: try: if not os.path.isdir(path): file = os.path.splitext(path) filename,type = file print('type-->',type) print("filename-->",filename) print('path-->',path) dir_path = os.path.dirname(path) print('dir_path-->',dir_path) savePath = dir_path + '/{}'.format(self.filetype.JudgeFile(type)) print('savePath-->',savePath) if not os.path.exists(savePath): os.mkdir(savePath) shutil.move(path, savePath) else: shutil.move(path, savePath) except FileNotFoundError: pass print("程序执行结束!") if __name__ == '__main__': try: while True: desktopOrg = DeskTopOrg() desktopOrg.Organization() print("---->你的文件已经整理完成。") a = input('---->请按回车键退出:') if a == '': break except BaseException: print("ERROE:路径错误或有重复的文档")
可以自由的整理你想要整理的路径。
其他朋友也有需求,但是又没有python环境,于是我将程序打包成exe执行文件。
安装pyinstaller
pip install pyinstaller
执行打包命令
#在程序脚本的路径执行以下命令 pyinstaller -F ***.py
执行完后生成几个文件,在dist文件下有一个exe可执行文件,将他单独发给朋友即可。
别忘了先自己测试一遍。
上述就是小编为大家分享的利用Python怎么编写一个自动整理文件的脚本了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。