Python 新手第一个自动化脚本:批量整理文件夹实战

举报
yd_292239161 发表于 2026/11/05 18:42:00 2026/11/05
【摘要】 学 Python 最有成就感的方式,就是写一个能真正帮自己干活的小脚本。今天分享一个新手就能跑通的实战:自动按文件类型把杂乱文件夹整理好。一、要解决什么问题下载文件夹里图片、视频、安装包、PDF 混在一起,每次找文件都要翻半天。我们写个脚本,运行后自动把不同类型文件归到对应文件夹。二、用到的库只用 Python 标准库,不用装任何第三方包:- os:操作文件和路径- shutil:移动文件三...

学 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 行,但每天能帮你省几分钟找文件的时间。编程的意义就是让重复劳动自动化,从这个小脚本开始动手吧。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。