python怎么实现自动整理文件
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,本篇内容介绍了"python怎么实现自动整理文件"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!演示效
千家信息网最后更新 2025年01月18日python怎么实现自动整理文件
本篇内容介绍了"python怎么实现自动整理文件"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
演示效果:
使用前
使用后
代码:
# # -*- coding:utf-8 -*-import osimport globimport shutilimport tkinterimport tkinter.filedialogfrom datetime import datetimedef start(): root = tkinter.Tk() root.withdraw() dirname = tkinter.filedialog.askdirectory(parent=root,initialdir="/",title='请选择文件夹') return dirname# 定义一个文件字典,不同的文件类型,属于不同的文件夹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中;# 如果存在,返回对应的文件夹名;如果不存在,将该文件夹命名为"未知分类";def JudgeFile(suffix): for name, type_list in file_dict.items(): if suffix.lower() in type_list: return name return "未知分类"if __name__ == '__main__': try: while True: path = start() print("---->路径是: ",path) if path == "": print("没有选择路径!") break # 递归获取 "待处理文件路径" 下的所有文件和文件夹。 startTime = datetime.now().second for file in glob.glob(f"{path}/**/*", recursive=True): # 由于我们是对文件分类,这里需要挑选出文件来。 if os.path.isfile(file): # 由于isfile()函数,获取的是每个文件的全路径。这里再调用basename()函数,直接获取文件名; file_name = os.path.basename(file) suffix = file_name.split(".")[-1] # 判断 "文件名" 是否在字典中。 name = JudgeFile(suffix) # 根据每个文件分类,创建各自对应的文件夹。 if not os.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().second countTime= endTime-startTime print("---->已经整理完成。共花费 {} s".format(countTime)) a = input('---->请按回车键退出:') if a == '': break except BaseException: print('存在重复的文件!')
执行起来很简单,只要写完程序,点击程运行,等待弹出窗口,选择需要整理的文件夹即可。
如果觉得以上代码觉得复杂,可以尝试以下更为简单的程序。
如何实现文件自动分类?
同一目录下存在很多不同类型的资源条件
1 .分类
2.创建分类目录
3.移动文件资源
import osimport shutilimport tkinterimport tkinter.filedialogfrom datetime import datetimedef start(): root = tkinter.Tk() root.withdraw() dirname = tkinter.filedialog.askdirectory(parent=root,initialdir="/",title='请选择文件夹') return dirname# 源文件存在路径src_dir=start()# 分类资源存在路径dest_dir=src_dir# 判断目录是否存在if not os.path.exists(dest_dir): os.mkdir(dest_dir)# 源目录分析files=os.listdir(src_dir)for item in files: src_path=os.path.join(src_dir,item) # 判断状态 if os.path.isfile(src_path): #如果是文件,进入代码块 # 判断文件资源的类型 ndir = item.split('.')[-1] desc_path=os.path.join(dest_dir,ndir) # 创建分类目录 if not os.path.exists(desc_path): # 如果分类子目录不存在,创建 os.mkdir(desc_path) shutil.move(src_path,desc_path)
"python怎么实现自动整理文件"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
文件
文件夹
分类
路径
目录
程序
资源
选择
不同
函数
字典
类型
代码
内容
文件名
更多
知识
移动
复杂
学有所成
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发项目指导思想
有安全险的服务器
互联网 基于开放数据库
宝塔面板安装提示非服务器系统
火山软件开发平台python
北京华为服务器维修费用
厦门科易网络技术有限公司
服务器主要供应
早期网站是如何连接数据库的
工业软件开发技巧
天下三再战今朝服务器没玄修么
黑魂服务器被黑
软件开发的技术基础
福州中旭网络技术有限公司
研究香港历史数据库
新疆残疾儿童入学数据库
利用网络技术开展农民教育培训
数据库 属性值限制
网络安全工程师在南宁
泰拉瑞亚创建服务器别人进不来
最强服务器处理器
用友sql数据库视频教程
软件开发桥梁工程师
服务器状态码500
东营智能养老软件开发电话
下载计算机网络技术毕业论文
企业服务器安全类型
数据库大作业管理系统设计
数据库第三版教案
浪潮服务器推介宣传