高中老师的Python自救:批量重命名从手残到自动化

0 阅读1分钟

上学期期末,教务处突然要收全年级学生的信息技术作业,说是要存档。我收了120个压缩包,文件名五花八门:“新建文件夹(3).zip”、“作业.zip”、“张三.zip”... 要求改成“班级-姓名-学号”格式。我手动改了50个,眼睛花了,手抖把“李四”写成了“李四是”,还得返工。 那天加班到9点,回家路上想:我是教信息技术的,这得用技术解决。

ff2d3db5-639e-4955-b215-a9831e4be645.png

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("搞定,去检查吧")

0c504836-5de9-4c18-8f10-5ae685ffe699.png

2d3eb16e-1035-42c3-8c67-66e6f83d8654.png

baf95ace-ecd8-484a-bd56-fce6802a8bf7.png

踩坑点

怎么踩的解决
路径报错直接写F:\Uncorrected_document,反斜杠被当转义符r前缀,或改斜杆\
改完找不到没打印日志,不知道改成功没print看过程
改错想恢复没备份,原地崩溃开头加代码复制整个文件夹