python怎么实现自动整理文件
导读:本文共3140字符,通常情况下阅读需要10分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 演示效果:使用前使用后代码:##-*-coding:utf-8-*-importosimportglobimportshutilimporttkinterimporttkinter.filedialogfromdatetimeimportdatetimedefstart():root=tkinter.Tk()root.withdraw()d... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。演示效果:
使用前
使用后
代码:
##-*-coding:utf-8-*-importosimportglobimportshutilimporttkinterimporttkinter.filedialogfromdatetimeimportdatetimedefstart():root=tkinter.Tk()root.withdraw()dirname=tkinter.filedialog.askdirectory(parent=root,initialdir="/",title='请选择文件夹')returndirname#定义一个文件字典,不同的文件类型,属于不同的文件夹file_dict={"图片":["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","xlsm","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","cpp","java","css","sql"],'可执行程序':['exe','bat','lnk','sys','com','apk'],'字体文件':['eot','otf','fon','font','ttf','ttc','woff','woff2','shx'],'工程图文件':['bak','dwg','dxf','dwl','dwl2','stp','SLDPRT','ipj','ipt','idw']}#定义一个函数,传入每个文件对应的后缀。判断文件是否存在于字典file_dict中;#如果存在,返回对应的文件夹名;如果不存在,将该文件夹命名为"未知分类";defJudgeFile(suffix):forname,type_listinfile_dict.items():ifsuffix.lower()intype_list:returnnamereturn"未知分类"if__name__=='__main__':try:whileTrue:path=start()print("---->路径是:",path)ifpath=="":print("没有选择路径!")break#递归获取"待处理文件路径"下的所有文件和文件夹。startTime=datetime.now().secondforfileinglob.glob(f"{path}/**/*",recursive=True):#由于我们是对文件分类,这里需要挑选出文件来。ifos.path.isfile(file):#由于isfile()函数,获取的是每个文件的全路径。这里再调用basename()函数,直接获取文件名;file_name=os.path.basename(file)suffix=file_name.split(".")[-1]#判断"文件名"是否在字典中。name=JudgeFile(suffix)#根据每个文件分类,创建各自对应的文件夹。ifnotos.path.exists(f"{path}\\{name}"):os.mkdir(f"{path}\\{name}")print('path-->',name)#将文件复制到各自对应的文件夹中。#shutil.copy(file,f"{path}\\{name}")#将文件移动到各自对应的文件夹中。shutil.move(file,f"{path}\\{name}")endTime=datetime.now().secondcountTime=endTime-startTimeprint("---->已经整理完成。共花费{}s".format(countTime))a=input('---->请按回车键退出:')ifa=='':breakexceptBaseException:print('存在重复的文件!')
执行起来很简单,只要写完程序,点击程运行,等待弹出窗口,选择需要整理的文件夹即可。
如果觉得以上代码觉得复杂,可以尝试以下更为简单的程序。
如何实现文件自动分类?
同一目录下存在很多不同类型的资源条件
1 .分类
2.创建分类目录
3.移动文件资源
importosimportshutilimporttkinterimporttkinter.filedialogfromdatetimeimportdatetimedefstart():root=tkinter.Tk()root.withdraw()dirname=tkinter.filedialog.askdirectory(parent=root,initialdir="/",title='请选择文件夹')returndirname#源文件存在路径src_dir=start()#分类资源存在路径dest_dir=src_dir#判断目录是否存在ifnotos.path.exists(dest_dir):os.mkdir(dest_dir)#源目录分析files=os.listdir(src_dir)foriteminfiles:src_path=os.path.join(src_dir,item)#判断状态ifos.path.isfile(src_path):#如果是文件,进入代码块#判断文件资源的类型ndir=item.split('.')[-1]desc_path=os.path.join(dest_dir,ndir)#创建分类目录ifnotos.path.exists(desc_path):#如果分类子目录不存在,创建os.mkdir(desc_path)shutil.move(src_path,desc_path)
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
python怎么实现自动整理文件的详细内容,希望对您有所帮助,信息来源于网络。