Python自动化之批量重命名与智能文件分类

 更新时间:2026年07月14日 08:30:17   作者:张老师技术栈  
电脑用久了,桌面和下载文件夹总是乱糟糟?本文手把手教你用Python写几个实用脚本,一键实现批量重命名、按类型智能归档,还能快速清理重复文件,让你的文件管理效率翻倍,需要的朋友可以参考下

电脑用久了,桌面和下载文件夹总会变得一团糟。用 Python 写几个脚本,一键重命名、按类型归档、清理重复文件。

一、批量重命名

1. 统一命名规则

import os

def batch_rename(directory, prefix="file", start=1, digits=3):
    """
    统一命名:prefix_001.ext, prefix_002.ext ...
    directory: 文件夹路径
    prefix: 文件名前缀
    start: 起始编号
    digits: 编号位数
    """
    files = [f for f in os.listdir(directory)
             if os.path.isfile(os.path.join(directory, f))]

    # 按修改时间排序
    files.sort(key=lambda x: os.path.getmtime(
        os.path.join(directory, x)))

    for i, filename in enumerate(files):
        name, ext = os.path.splitext(filename)
        new_name = f"{prefix}_{str(start + i).zfill(digits)}{ext}"
        old_path = os.path.join(directory, filename)
        new_path = os.path.join(directory, new_name)
        os.rename(old_path, new_path)
        print(f"{filename} → {new_name}")

2. 替换文件名中的关键词

def replace_text(directory, old_text, new_text):
    """批量替换文件名中的关键词"""
    count = 0
    for f in os.listdir(directory):
        fp = os.path.join(directory, f)
        if os.path.isfile(fp) and old_text in f:
            new_name = f.replace(old_text, new_text)
            os.rename(fp, os.path.join(directory, new_name))
            count += 1
    print(f"共替换 {count} 个文件")

二、智能文件归档

import shutil

EXTENSION_MAP = {
    ".jpg": "图片", ".jpeg": "图片", ".png": "图片", ".gif": "图片",
    ".doc": "文档", ".docx": "文档", ".pdf": "文档", ".txt": "文档",
    ".xls": "表格", ".xlsx": "表格",
    ".zip": "压缩包", ".rar": "压缩包", ".7z": "压缩包",
    ".mp4": "视频", ".avi": "视频",
    ".mp3": "音乐", ".wav": "音乐",
    ".py": "代码", ".java": "代码", ".js": "代码", ".html": "代码",
}

def auto_sort(directory):
    """按文件类型自动归档"""
    for f in os.listdir(directory):
        fp = os.path.join(directory, f)
        if not os.path.isfile(fp):
            continue
        _, ext = os.path.splitext(f)
        folder = EXTENSION_MAP.get(ext.lower(), "其他")
        target = os.path.join(directory, folder)
        os.makedirs(target, exist_ok=True)
        shutil.move(fp, os.path.join(target, f))

到此这篇关于Python自动化之批量重命名与智能文件分类的文章就介绍到这了,更多相关Python重命名与智能文件分类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 对Python3中bytes和HexStr之间的转换详解

    对Python3中bytes和HexStr之间的转换详解

    今天小编就为大家分享一篇对Python3中bytes和HexStr之间的转换详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python应用打包成APK的全部流程记录

    Python应用打包成APK的全部流程记录

    这篇文章主要介绍了Python应用打包成APK的全部流程,遵循正确的步骤,可以轻松地将Python应用转换为在Android设备上运行的APK文件,从而扩展应用的可用平台,需要的朋友可以参考下
    2024-09-09
  • python小白学习包管理器pip安装

    python小白学习包管理器pip安装

    在本篇文章里小编给大家分享的是一篇python包管理器pip安装的相关知识点内容,有兴趣的朋友们参考下。
    2020-06-06
  • 解决Python3错误:SyntaxError: unexpected EOF while parsin

    解决Python3错误:SyntaxError: unexpected EOF while

    这篇文章主要介绍了解决Python3错误:SyntaxError: unexpected EOF while parsin问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Python常用小技巧总结

    Python常用小技巧总结

    这篇文章主要介绍了Python常用小技巧,实例总结了Python关于字典、字符串、随机数等操作技巧,非常简单实用,需要的朋友可以参考下
    2015-06-06
  • python下划线开头函数总结示例详解

    python下划线开头函数总结示例详解

    Python中双下划线__开头的命名有三类,在文中有给详细介绍,合理使用可增强封装性与代码可读性,对python下划线开头函数相关知识感兴趣的朋友一起看看吧
    2025-07-07
  • 使用Python Typing模块提升代码可读性和健壮性实例探索

    使用Python Typing模块提升代码可读性和健壮性实例探索

    这篇文章主要为大家介绍了使用Python Typing模块提升代码可读性和健壮性实例探索,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Python+OpenCV图片去水印的多种方案实现

    Python+OpenCV图片去水印的多种方案实现

    这篇文章主要为大家总结了Python结合OpenCV的几种常见的水印去除方式,简单图片去水印效果良好,有需要的小伙伴可以跟随小编一起了解下
    2025-02-02
  • Python流程控制 while循环实现解析

    Python流程控制 while循环实现解析

    这篇文章主要介绍了Python流程控制 while循环实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • python和php学习哪个更有发展

    python和php学习哪个更有发展

    在本篇内容里小编给大家分析了关于python和php学习哪个更有发展相关论点,有兴趣的朋友们参考下。
    2020-06-06

最新评论