智慧生活指南
第二套高阶模板 · 更大气的阅读体验

用Python写脚本,让文件自动归位

发布时间:2025-12-09 13:22:48 阅读:264 次

每天下班回家,电脑桌面堆满了下载的发票、截图、合同和照片,找文件像翻垃圾桶。第二天上班又要花十分钟整理,烦不胜烦。其实,只要写个简单的 Python 脚本,这些事都能自动完成。

你的电脑需要一个“收纳管家”

我之前也是随手一存,结果“文档”文件夹里混着PDF、音乐、压缩包,甚至还有游戏安装包。后来干脆写了个脚本,每次我往“杂项”文件夹丢文件,它就自动识别类型,把图片移到“图片”、合同归到“工作”、发票放进“财务”。

这个脚本每天早上8点自己跑一次,就像扫地机器人一样,不用管它,但家里一直干净。

动手写个最简单的整理脚本

下面是个基础版本,能按文件后缀名分类移动:

import os
import shutil

# 目标文件夹
folder_path = "C:\Users\YourName\Downloads"

# 定义分类规则
extensions = {
    "图片": [".jpg", ".png", ".gif"],
    "文档": [".pdf", ".docx", ".txt"],
    "视频": [".mp4", ".avi"],
    "压缩包": [".zip", ".rar"]
}

for filename in os.listdir(folder_path):
    file_path = os.path.join(folder_path, filename)
    
    if os.path.isfile(file_path):
        moved = False
        for category, exts in extensions.items():
            if any(filename.lower().endswith(ext) for ext in exts):
                target_folder = os.path.join(folder_path, category)
                os.makedirs(target_folder, exist_ok=True)
                shutil.move(file_path, os.path.join(target_folder, filename))
                moved = True
                break
        # 其他文件归入“其他”
        if not moved:
            other_folder = os.path.join(folder_path, "其他")
            os.makedirs(other_folder, exist_ok=True)
            shutil.move(file_path, os.path.join(other_folder, filename))

怎么让它自己运行?

Windows 自带“任务计划程序”,可以设置每天固定时间运行这个脚本。Mac 和 Linux 可以用 cron。设置一次,后面完全不用操心。

比如我设在每天晚上10点执行,等第二天起床,所有新下的文件都已经各归其位。

还能更智能一点

如果你经常收到不同公司的发票PDF,还可以让脚本读取文件名或内容,按公司名建子文件夹。比如文件名叫“腾讯_2024年服务费.pdf”,就自动扔进“财务/腾讯”目录。

这种小改动,省下的不是几分钟,而是每次打开文件夹时那种“又要找”的烦躁感。生活里的秩序感,往往就藏在这种细节里。