python批量改文件名,截取原文件名的一部分
新下了一堆视频学习,但是文件名也太长了,这完全没必要啊。写个脚本改一下名吧。目录在下面
- 第一步 读取文件名
- 第二步 重点!正则表达式提取需要保留的部分
- 第三步 正式改名
- 改名成功
第一步 读取文件名
filesDir = "../../后端学习/尚硅谷SpringBoot2"
fileNameList = os.listdir(filesDir)
#输出看一下
for filename in fileNameList:print(filename)
需要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 refilesDir = "../../后端学习/尚硅谷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("======================================================================================")
帮到你了点个赞呗。
有问题在评论区留言我帮你康康。
python批量改文件名,截取原文件名的一部分相关推荐
- Python批量改文件名
对以下路径中的文件名批量修改. 文章目录 一.读取指定路径中的文件名 二.正则表达式提取需要保留的部分 1.介绍re库 2.re库中函数的用法 (1)re.findall() #最常用 (2)re.s ...
- python批量替换文件_python实现文件名批量替换和内容替换
指定文件夹,指定文件类型,替换该文件夹下全部文件的内容. 注意在window下的读写内容需要指定编码,还需要在文件头指定#coding:utf-8 编码,避免出现编码问题. 代码如下: #coding ...
- Python批量打开文件以及获取文件名、目录及路径
一. #定义函数,用于打开指定类型文件的函数 def open_allfile(path,filetype): data=[] import glob import os read_files=glo ...
- python批量修改文件名(将中文改为英文首字母)和xml文件
数据集中有中文,网络训练中报错,因此需要把其中的中文替换为英文. 01 批量修改文件名 利用python批量修改文件名,把文件名中的汉字自动替换成其首字母. import os; import pyp ...
- python批量修改文件名_python实现批量改文件名称的方法
这篇文章主要介绍了python实现批量改文件名称的方法,涉及Python中os模块rename方法的相关使用技巧,需要的朋友可以参考下 python实现批量改文件名称的方法 本文实例讲述了python ...
- 批量处理EXCEL表格,进行指定内容的删除并将修改后的结果按照原文件名进行命名
批量处理EXCEL表格,进行指定内容的删除,并将修改后的结果按照原文件名进行命名 批量处理excel表格 表格导入 删除操作 另存为 批量处理excel表格 工作生活中我们难免要处理大量的excel表 ...
- python批量读取dat文件_python编写Windows环境下批量修改文件名
在日常编程工作中我们经常需要对文件进行操作,而文件一般都是由文件名和扩展名组成的.比如我们经常需要把.dat 格式 转化成 .txt格式,把png改成jgp格式等等.这里我们就教大家如何利用PYTHO ...
- python 修改文件名_【学习分享】利用python批量修改文件名
1 前言 分享一个利用python批量修改文件名的方法,我们以前分享过用DOS命令来批量修改文件名,但是如果要修改多个文件夹内的文件名,用DOS命令就不好处理了,我们就来分享一下如何用python处理 ...
- c语言;文件名批量修改要求可以修改整个文件内文件名或后缀名自动,Python批量修改文件名...
处理语料库时,有些文件名字很不规则,为了方便处理,同义按数字顺序修改名称,主要是用到os模块: import os def RenameFiles(srcdir): #将目录下所有的文件命名为数字开头 ...
最新文章
- go 1.4支持Android的说明(译文)
- 全国计算机等级考试二级笔试样卷Java语言程序设计
- OpenCV学习笔记(五十六)——InputArray和OutputArray的那些事core OpenCV学习笔记(五十七)——在同一窗口显示多幅图片 OpenCV学习笔记(五十八)——读《Mast
- 函数式编程 -- 函数组合
- mysql long varchar2_案例:Oracle数据库long查询结果转换为varchar2类型方法的操作步骤...
- Mysql 5.7 for windows 免安装版(解压版)安装和配置
- 十大Ajax框架(排名不分先后)
- 数据结构实习(欢迎大家一起在评论区交流学习)
- POC-T批量poc验证工具
- Faster R-CNN详解
- 分布式数据库之TiDB
- matlab 图片RGB颜色提取0-255版
- java核心技术读书笔记—继承
- 做什么样的小生意适合一两个人去做,月收入在一万左右?
- 计算机投影维修维护,投影机维修常见故障解决方法
- 使用Testin云测试进行兼容测试
- 掌上题库V1.2.2全开源版本小程序带后端
- [MMDxUE4]将MMD的模型和动作、相机文件导入UE4中使用
- CSDN的评论区怎么添加超链接?
- 《3D游戏与计算机图形学中的数学方法》学习笔记 第二章
热门文章
- 【数据结构】— 「时间复杂度」与「空间复杂度」
- Web前端学习6个有效果软件,你值得拥有!
- Android ExpandableListView 使用实例
- Linux调试排错命令
- 如何伦敦银走势图中寻找波段操作机会
- 大数据开发要学习什么
- 谷歌将 Istio 商标移交 OUC,IBM 表示失望
- Python 安装PyQt5失败:Permission denied:d3dcompiler_47.dll
- webpack对css文件打包:css-loader和style-loader版本过高问题
- 找到个eclipse旧版下载地址有jdk1.8最后一版2020-06