作为一个成熟稳重的大学生,我们的必修课可不还是最大限度的偷懒吗?作为班长,每次面对一堆文件,文件命名各式各样,一点都不整整奇奇,想要整齐还得一个个重命名,这又是一件很头大的事情!!!!
科技改变生活,感谢科技!让我产生了用python写代码一键重命名的想法,废话不多说!上源码!!!
python源代码如下:
import os
import pandas as pd
def suffix(file_list):
# 返回对应后缀名
lst =['.doc','.docx','.txt','.pdf','.xls','.xlsx']
for i in lst:
if i in file_list:
j = file_list[-len(i):len(file_list)]
if i == j:
return i
def roster(path_roster):
# 获取Excel列,包括学号、姓名
Student_name = pd.read_excel(path_roster, usecols=[2],names=None) # 读取项目名称列,不要列名
Student_id = pd.read_excel(path_roster, usecols=[1],names=None) # 读取项目名称列,不要列名
# 将列转为list,每个元素均为list
name_list = Student_name.values.tolist()
id_list = Student_id.values.tolist()
# 转化为一个列表
result_name = []
result_id = []
for s1 in name_list:
result_name.append(s1[0])
for s2 in id_list:
result_id.append(s2[0])
return result_name,result_id
def rename_my(path_file,path_roster,num):
# 获取文件路径
file_list = os.listdir(path_file) # 获取文件路径
# 获取学生名单(学号,姓名)
student_name,student_id = roster(path_roster)
# 定义OS路径
os.chdir(path_file)
# 重命名
for name in range (0,len(student_name)):
for named in range(0,len(file_list)):
if student_name[name] in file_list[named]:
# str_rename为重命名之后的名称,file_list[named]为重命名之前的
str_rename = str(student_id[name])+'-'+student_name[name]+'-'+'第'+num+'次作业'+ suffix(file_list[named])
os.rename(file_list[named],str_rename)
# 返回重命名文件个数
return len(file_list)
if __name__ == '__main__':
number = input("请输入想要整理第几次作业:")
# 定义作业文件夹路径
path_file = 'D:\Desktop\操作系统选讲作业\操作系统选讲第' + number + '次作业'
# 定义花名册路径
path_roster = 'D:\Desktop\操作系统选讲作业\花名册.xlsx'
total = rename_my(path_file,path_roster,number)
print('修改完毕,共修改',total,'个文件')
所使用到的依赖包共两个,如下所示:
# os模块提供了非常丰富的方法用来处理文件和目录
import os
# pandas提供了大量能使我们快速便捷地处理数据的函数和方法
import pandas as pd
依赖包安装:
# 在cmd行输入:
pip install os
pip install pandas
#最后查看是否已安装:
pip list
所使用自定义函数如下:
# 获取后缀名
def suffix(file_list):
# 获取学号、姓名
def roster(path_roster):
#重命名为:学号-姓名-第几次作业
def rename_my(path_file,path_roster,num):
# 函数入口
if __name__ == '__main__':
自定义函数无需更改。需要更改如下:
#只需要将作业文件夹路径和班级花名册路径更改为本地路径即可。
if __name__ == '__main__':
# 定义作业文件夹路径
path_file = 'D:\Desktop\操作系统选讲作业\操作系统选讲第一次作业'
# 定义花名册路径
path_roster = 'D:\Desktop\操作系统选讲作业\花名册.xlsx'
花名册样式:
既然我们已经成功将所有文件重命名,那是不是还可以一键看看谁没交呢?请点击链接:python自动化-一键查作业学习使用。
配合使用,更加快乐,若没有能力更改源码,请将或名册中的学号用0填够13位,也可以正常使用哦!!!!