👤 作者:数据处理和工作效率 | ⏱️ 阅读时间:7 分钟左右
01 你的下载文件夹是不是也这样?
打开"下载"文件夹,密密麻麻几百个文件:工作报告.pdf、产品图片.jpg、合同扫描件.pdf、项目预算.xlsx...
找个文件?翻半天找不到。桌面乱成一团,心情都变差了。
今天教你用 Python,一键自动整理,按文件类型归类到不同文件夹。
02 先看效果
运行脚本后,自动按文件类型归类:
图片(.jpg, .png, .gif)→ 📁 图片文件夹文档(.pdf, .doc, .docx)→ 📁 文档文件夹表格(.xls, .xlsx, .csv)→ 📁 表格文件夹压缩包(.zip, .rar, .7z)→ 📁 压缩包文件夹
清清爽爽,找文件再也不用翻半天了!
03 完整代码
import shutilfrom pathlib import Path# 配置下载文件夹路径download_folder = Path(r"C:\Users\你的用户名\Downloads")# 文件类型映射FILE_TYPES = { "图片": [".jpg", ".jpeg", ".png", ".gif"], "文档": [".pdf", ".doc", ".docx", ".txt"], "表格": [".xls", ".xlsx", ".csv"], "压缩包": [".zip", ".rar", ".7z"],}# 遍历所有文件for file in download_folder.iterdir(): if file.is_file(): ext = file.suffix.lower() # 找到对应的分类 category = "其他" for cat, extensions in FILE_TYPES.items(): if ext in extensions: category = cat break # 移动文件 dest_folder = download_folder / category dest_folder.mkdir(exist_ok=True) shutil.move(str(file), str(dest_folder / file.name)) print(f"✅ {file.name} → {category}/")print(f"\n🎉 完成!文件已整理完毕")
04 代码详解
代码逻辑很清晰,我们逐行来看:
第 1-3 行:导入需要的库。shutil 用于文件操作,pathlib 用于路径处理。
第 6-13 行:定义文件类型映射字典。键是分类名称,值是对应的扩展名列表。
第 16-26 行:遍历文件夹所有文件,根据扩展名找到对应分类,然后移动到相应文件夹。
开始→遍历文件→判断类型→移动到对应文件夹→完成
05 运行结果
✅ 工作报告.pdf → 文档/✅ 产品图片.jpg → 图片/✅ 合同扫描件.pdf → 文档/✅ 项目预算.xlsx → 表格/✅ 安装包.zip → 压缩包/...🎉 完成!文件已整理完毕
06 进阶用法
如果想按日期归类(比如按月份),可以这样改:
from datetime import datetimefor file in download_folder.iterdir(): if file.is_file(): # 获取文件修改时间 mtime = datetime.fromtimestamp(file.stat().st_mtime) # 按年月归类:2026-04/ month_folder = mtime.strftime("%Y-%m") dest_folder = download_folder / month_folder dest_folder.mkdir(exist_ok=True) shutil.move(str(file), str(dest_folder / file.name))
07 注意事项
💡 技巧• 先备份重要文件,防止误操作• 用 print 预览移动路径,确认无误再运行
⚠️ 注意• Windows 路径用 r"..." 原始字符串• 移动操作不可撤销,务必先测试
🎁 源码获取想要获取源码,请在评论区留言
📅 下期预告:批量合并 Excel:100 个表格 1 个文件📅 发布时间:2026-04-15
夜雨聆风