上学期期末,教务处突然要收全年级学生的信息技术作业,说是要存档。我收了120个压缩包,文件名五花八门:“新建文件夹(3).zip”、“作业.zip”、“张三.zip”... 要求改成“班级-姓名-学号”格式。我手动改了50个,眼睛花了,手抖把“李四”写成了“李四是”,还得返工。 那天加班到9点,回家路上想:我是教信息技术的,这得用技术解决。
import os
import shutil
# 文件夹路径,改成你自己的
folder = r"D:\学生作业"
# 获取所有文件
files = os.listdir(folder)
# 先备份,手残有救
shutil.copytree(folder, folder+"_备份")
print("已备份,随便造")
# 遍历改名(示例:加前缀"高一1班-")
for i, file in enumerate(files, 1):
old_path = os.path.join(folder, file)
# 跳过文件夹,只改文件
if os.path.isfile(old_path):
# 新文件名:高一1班-第i份.zip
new_name = f"高一1班-第{i:03d}份-{file}"
new_path = os.path.join(folder, new_name)
os.rename(old_path, new_path)
print(f"{file} → {new_name}")
print("搞定,去检查吧")
踩坑点
| 坑 | 怎么踩的 | 解决 |
|---|---|---|
| 路径报错 | 直接写F:\Uncorrected_document,反斜杠被当转义符 | 加r前缀,或改斜杆\ |
| 改完找不到 | 没打印日志,不知道改成功没 | 加print看过程 |
| 改错想恢复 | 没备份,原地崩溃 | 开头加代码复制整个文件夹 |