python批量改文件名,截取原文件名的一部分 |
您所在的位置:网站首页 › python对字符串进行截取 › python批量改文件名,截取原文件名的一部分 |
新下了一堆视频学习,但是文件名也太长了,这完全没必要啊。写个脚本改一下名吧。目录在下面
第一步 读取文件名第二步 重点!正则表达式提取需要保留的部分第三步 正式改名改名成功
![]() 需要os库 自己导入 这个需要re库,自己搜怎么安 我们拿几个文件名举例子 尚硅谷2021最新版SpringBoot2全套完整版(spring boot2核心技术与响应式编程) - 046 - 46、web实验-遍历数据与页面bug修改.mp4 尚硅谷2021最新版SpringBoot2全套完整版(spring boot2核心技术与响应式编程) - 003 - 03、基础入门-SpringBoot的大时代背景.mp4 尚硅谷2021最新版SpringBoot2全套完整版(spring boot2核心技术与响应式编程) - 069 - 69、数据访问-准备阿里云redis环境.mp4 尚硅谷2021最新版SpringBoot2全套完整版(spring boot2核心技术与响应式编程) - 063 - 63、数据访问-整合mybatis-配置版.mp4 显然发现有共性对吧,我们把前面一样的删了留后面真正的课程标题就行,那咋办呢,正则表达式啊。 re库中compile方法可以返回一个正则表达式的截取规则 rules = re.compile(r'尚硅谷2021最新版SpringBoot2全套完整版(spring boot2核心技术与响应式编程) - (.*?).mp4')其中(.*?)表示任意字符出现任意次”,不懂也无所谓,也没必要学,正则表达式很灵fu活za。 就记住,我们最后取出的就是这个地方该有的一大堆字符,比如上面的这句,返回的就应该是 003 - 03、基础入门-SpringBoot的大时代背景 要记住compile里传进去的一定是一个字符串,前面那个r是为了防止转义字符啥的,自己百度。建议正则表达式里不想要的前后部分,复制粘贴进去,免得敲错了空格啥的。 OK我们测试一下截取的成功与否,别急着改,截错了麻烦。 rules = re.compile(r'尚硅谷2021最新版SpringBoot2全套完整版(spring boot2核心技术与响应式编程) - (.*?).mp4') for filename in fileNameList: print("旧的名字是:\t"+filename) print("开始截取!") newFilename = re.findall(rules, str(filename))[0] print("新名字是:\t" + newFilename) print("\n\n")旧的名字是: 尚硅谷2021最新版SpringBoot2全套完整版(spring boot2核心技术与响应式编程) - 077 - 77、指标监控-SpringBoot Actuator与Endpoint.mp4 开始截取! 新名字是: 077 - 77、指标监控-SpringBoot Actuator与Endpoint ====================================================================================== 旧的名字是: 尚硅谷2021最新版SpringBoot2全套完整版(spring boot2核心技术与响应式编程) - 032 - 32、请求处理-【源码分析】-各种类型参数解析原理.mp4 开始截取! 新名字是: 032 - 32、请求处理-【源码分析】-各种类型参数解析原理 ====================================================================================== 旧的名字是: 尚硅谷2021最新版SpringBoot2全套完整版(spring boot2核心技术与响应式编程) - 046 - 46、web实验-遍历数据与页面bug修改.mp4 开始截取! 新名字是: 046 - 46、web实验-遍历数据与页面bug修改 ====================================================================================== 旧的名字是: 尚硅谷2021最新版SpringBoot2全套完整版(spring boot2核心技术与响应式编程) - 003 - 03、基础入门-SpringBoot的大时代背景.mp4 开始截取! 新名字是: 003 - 03、基础入门-SpringBoot的大时代背景 ====================================================================================== 旧的名字是: 尚硅谷2021最新版SpringBoot2全套完整版(spring boot2核心技术与响应式编程) - 069 - 69、数据访问-准备阿里云redis环境.mp4 开始截取! 新名字是: 069 - 69、数据访问-准备阿里云redis环境 ====================================================================================== ok输出没问题 第三步 正式改名用 os库里的rename方法 newFilename = newFilename + ".mp4" os.rename(os.path.join(filesDir, filename), os.path.join(filesDir, newFilename))rename第一个参数填旧文件名,第二个填新的,记得把.mp4后缀加上啊,还需要注意,亲测需要绝对路径所以用os库里的join方法拼成绝对路径。 测试一下 for filename in fileNameList: print("旧的名字是:\t" + filename) print("开始截取!") newFilename = re.findall(rules, str(filename))[0] print("新名字是:\t" + newFilename) print("开始改名。。。") newFilename = newFilename + ".mp4" os.rename(os.path.join(filesDir, filename), os.path.join(filesDir, newFilename)) print("改名完毕!") print("======================================================================================")旧的名字是: 尚硅谷2021最新版SpringBoot2全套完整版(spring boot2核心技术与响应式编程) - 058 - 58、嵌入式Servlet容器-【源码分析】切换web服务器与定制化.mp4 开始截取! 新名字是: 058 - 58、嵌入式Servlet容器-【源码分析】切换web服务器与定制化 开始改名。。。 改名完毕! ====================================================================================== 旧的名字是: 尚硅谷2021最新版SpringBoot2全套完整版(spring boot2核心技术与响应式编程) - 060 - 60、数据访问-数据库场景的自动配置分析与整合测试.mp4 开始截取! 新名字是: 060 - 60、数据访问-数据库场景的自动配置分析与整合测试 开始改名。。。 改名完毕! ====================================================================================== 看一下文件夹 所有代码都给你们 import os import re filesDir = "../../后端学习/尚硅谷SpringBoot2" fileNameList = os.listdir(filesDir) rules = re.compile(r'尚硅谷2021最新版SpringBoot2全套完整版(spring boot2核心技术与响应式编程) - (.*?).mp4') for filename in fileNameList: print("旧的名字是:\t" + filename) print("开始截取!") newFilename = re.findall(rules, str(filename))[0] print("新名字是:\t" + newFilename) print("开始改名。。。") newFilename = newFilename + ".mp4" os.rename(os.path.join(filesDir, filename), os.path.join(filesDir, newFilename)) print("改名完毕!") print("======================================================================================")帮到你了点个赞呗。 有问题在评论区留言我帮你康康。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |