Python 新手第一个自动化脚本:批量整理文件夹实战
学 Python 最有成就感的方式,就是写一个能真正帮自己干活的小脚本。今天分享一个新手就能跑通的实战:自动按文件类型把杂乱文件夹整理好。
一、要解决什么问题
下载文件夹里图片、视频、安装包、PDF 混在一起,每次找文件都要翻半天。我们写个脚本,运行后自动把不同类型文件归到对应文件夹。
二、用到的库
只用 Python 标准库,不用装任何第三方包:
- os:操作文件和路径
- shutil:移动文件
三、完整代码
import os
import shutil
# 定义要整理的文件夹(改成你自己的路径)
folder = "/Users/you/Downloads"
# 定义文件类型对应文件夹
extensions = {
"图片": [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp"],
"视频": [".mp4", ".mov", ".avi", ".mkv", ".flv"],
"文档": [".pdf", ".doc", ".docx", ".txt", ".md", ".pptx", ".xlsx"],
"音频": [".mp3", ".wav", ".flac", ".aac"],
"安装包": [".dmg", ".exe", ".pkg", ".deb", ".rpm"],
"压缩包": [".zip", ".rar", ".7z", ".tar", ".gz"],
}
# 遍历文件夹里所有文件
for filename in os.listdir(folder):
# 跳过文件夹本身
if os.path.isdir(os.path.join(folder, filename)):
continue
# 获取文件后缀名(小写)
ext = os.path.splitext(filename)[1].lower()
# 找到这个后缀属于哪个分类
for category, exts in extensions.items():
if ext in exts:
# 创建分类文件夹(如果不存在)
category_path = os.path.join(folder, category)
os.makedirs(category_path, exist_ok=True)
# 移动文件
src = os.path.join(folder, filename)
dst = os.path.join(category_path, filename)
shutil.move(src, dst)
print(f"已移动:{filename} -> {category}/")
break
print("整理完成!")
四、怎么用
1. 把代码保存为 organize.py
2. 把 folder 路径改成你要整理的文件夹
3. 终端运行:python organize.py
五、新手常见问题
- 找不到路径:把文件夹拖到终端会自动显示完整路径
- 权限不够:macOS 可能需要在系统设置里给终端权限
- 想先测试不真的移动:把 shutil.move 改成 print 先看效果
六、可以怎么扩展
- 按文件修改日期分文件夹
- 自动删除重复文件
- 整理完发邮件通知自己
- 做成右键菜单,一键整理
这个脚本不到 50 行,但每天能帮你省几分钟找文件的时间。编程的意义就是让重复劳动自动化,从这个小脚本开始动手吧。
- 点赞
- 收藏
- 关注作者
评论(0)