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错误:SyntaxError: unexpected EOF while
这篇文章主要介绍了解决Python3错误:SyntaxError: unexpected EOF while parsin问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-07-07
使用Python Typing模块提升代码可读性和健壮性实例探索
这篇文章主要为大家介绍了使用Python Typing模块提升代码可读性和健壮性实例探索,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2024-01-01


最新评论