一、问题情景
重命名一定数量文件,且新文件名与旧文件名之间存在可以用Python代码实现的规律。例如,图1中所有word文档命名格式均为“微信名_时间_学号姓名”,现需要将其全部重新命名为“学号姓名”,如图2所示。
二、Python知识点
1、Python os模块中的listdir、rename方法以及os.path.join方法
2、find函数
3、字符串切片
三、代码实现
import os#引入os模块 path=r"C:\Users\86151\Desktop\python" fileList = os.listdir(path) #os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表,即返回path路径下所有文件的名字,并将其组织为列表的数据结构。运行结果为:fileList=[文件1、文件2、……] for i in fileList: oldname=i try: newname=oldname[oldname.find("_",oldname.find("_")+1)+1:] #新文件名为旧文件名的一部分,故通过字符串截取定义新变量名,应根据不同情景构建合适的函数 os.rename(os.path.join(path,oldname),os.path.join(path,newname)) #os.rename实现新旧文件名修改 except Exception as error: print(error) pass