python自动化-一键作业重命名

一键作业重命名

  • 前言:写在前面
  • 一、源码
    • 1、结果展示
    • 2、源码
  • 二、源码注解
    • 1、所使用依赖包
    • 2、调用函数
  • 三、使用方法

前言:写在前面

  作为一个成熟稳重的大学生,我们的必修课可不还是最大限度的偷懒吗?作为班长,每次面对一堆文件,文件命名各式各样,一点都不整整奇奇,想要整齐还得一个个重命名,这又是一件很头大的事情!!!!
  科技改变生活,感谢科技!让我产生了用python写代码一键重命名的想法,废话不多说!上源码!!!
  

一、源码

1、结果展示

  未重命名之前:
python自动化-一键作业重命名_第1张图片
  重命名之后:
输入、输出:
在这里插入图片描述
结果:
python自动化-一键作业重命名_第2张图片

2、源码

  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,'个文件')

二、源码注解

1、所使用依赖包

  所使用到的依赖包共两个,如下所示:

# os模块提供了非常丰富的方法用来处理文件和目录
import os

# pandas提供了大量能使我们快速便捷地处理数据的函数和方法
import pandas as pd

  依赖包安装:

# 在cmd行输入:
pip install os
pip install pandas

#最后查看是否已安装:
pip list

2、调用函数

  所使用自定义函数如下:

# 获取后缀名
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位,也可以正常使用哦!!!!

你可能感兴趣的:(python)