python怎么实现自动整理文件(python,开发技术)

时间:2024-05-06 00:54:29 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

演示效果:

  • 使用前

python怎么实现自动整理文件

  • 使用后

python怎么实现自动整理文件

代码:

##-*-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怎么实现自动整理文件的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:在Docker容器中怎么部署MSSQL下一篇:

18 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18