引言
作为班里的学习委员,平时收发作业。老师要求作业以“学号-姓名-班级”格式命名,但是一些同学老记不住,总是把顺序打乱。几十份作业,我一份份重命名也非常麻烦所以打算写一个脚本协助我一下。
实现原理
- 先将那些没用’ - '连接的作业名称修改一下,所幸一般也就一两份,也不多。
- 我们这里主要运用的是os这个库,有遍历文件名、修改文件名字的功能
- 我们声明一个长度为3的new_name列表
- 我们获取这个文件夹下的所有文件名:filenames = os.listdir(os.curdir)
- 遍历一次,将文件名去掉‘ . ’ 后面的后缀名,用split函数按 ‘ - ’ 将字符串分割成列表 current_name
- 遍历current_name,如果用 *isdecimal()*字符串纯数字的(学号),那么放到new_name的第一项,如果该字符串含有 ‘计’ 字(我们是计算机专业,班级名称含有 ‘ 计 ’ 字 ),则放在第三项;否则就放在第二项
代码
import os
filenames = os.listdir(os.curdir)
# print(filenames)
for filename in filenames:
if filename != 'rename.py' and os.path.isfile(filename):
current_name = filename.split('.')[0].split('-')
#print(current_name)
new_name = ['' for i in range(3)]
for i in current_name:
# 学号
if i.isdecimal():
new_name[0] = i
elif '计' in i:
new_name[2] = i
else:
new_name[1] = i
newname = new_name[0]+'-'+new_name[1]+'-'+new_name[2]+'.pdf'
print(newname)
os.rename(filename,newname)
如果对你有帮助的话,不妨点个赞