新下了一堆视频学习,但是文件名也太长了,这完全没必要啊。写个脚本改一下名吧。目录在下面

  • 第一步 读取文件名
  • 第二步 重点!正则表达式提取需要保留的部分
  • 第三步 正式改名
  • 改名成功

第一步 读取文件名

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批量改文件名,截取原文件名的一部分相关推荐

  1. Python批量改文件名

    对以下路径中的文件名批量修改. 文章目录 一.读取指定路径中的文件名 二.正则表达式提取需要保留的部分 1.介绍re库 2.re库中函数的用法 (1)re.findall() #最常用 (2)re.s ...

  2. python批量替换文件_python实现文件名批量替换和内容替换

    指定文件夹,指定文件类型,替换该文件夹下全部文件的内容. 注意在window下的读写内容需要指定编码,还需要在文件头指定#coding:utf-8 编码,避免出现编码问题. 代码如下: #coding ...

  3. Python批量打开文件以及获取文件名、目录及路径

    一. #定义函数,用于打开指定类型文件的函数 def open_allfile(path,filetype): data=[] import glob import os read_files=glo ...

  4. python批量修改文件名(将中文改为英文首字母)和xml文件

    数据集中有中文,网络训练中报错,因此需要把其中的中文替换为英文. 01 批量修改文件名 利用python批量修改文件名,把文件名中的汉字自动替换成其首字母. import os; import pyp ...

  5. python批量修改文件名_python实现批量改文件名称的方法

    这篇文章主要介绍了python实现批量改文件名称的方法,涉及Python中os模块rename方法的相关使用技巧,需要的朋友可以参考下 python实现批量改文件名称的方法 本文实例讲述了python ...

  6. 批量处理EXCEL表格,进行指定内容的删除并将修改后的结果按照原文件名进行命名

    批量处理EXCEL表格,进行指定内容的删除,并将修改后的结果按照原文件名进行命名 批量处理excel表格 表格导入 删除操作 另存为 批量处理excel表格 工作生活中我们难免要处理大量的excel表 ...

  7. python批量读取dat文件_python编写Windows环境下批量修改文件名

    在日常编程工作中我们经常需要对文件进行操作,而文件一般都是由文件名和扩展名组成的.比如我们经常需要把.dat 格式 转化成 .txt格式,把png改成jgp格式等等.这里我们就教大家如何利用PYTHO ...

  8. python 修改文件名_【学习分享】利用python批量修改文件名

    1 前言 分享一个利用python批量修改文件名的方法,我们以前分享过用DOS命令来批量修改文件名,但是如果要修改多个文件夹内的文件名,用DOS命令就不好处理了,我们就来分享一下如何用python处理 ...

  9. c语言;文件名批量修改要求可以修改整个文件内文件名或后缀名自动,Python批量修改文件名...

    处理语料库时,有些文件名字很不规则,为了方便处理,同义按数字顺序修改名称,主要是用到os模块: import os def RenameFiles(srcdir): #将目录下所有的文件命名为数字开头 ...

最新文章

  1. go 1.4支持Android的说明(译文)
  2. 全国计算机等级考试二级笔试样卷Java语言程序设计
  3. OpenCV学习笔记(五十六)——InputArray和OutputArray的那些事core OpenCV学习笔记(五十七)——在同一窗口显示多幅图片 OpenCV学习笔记(五十八)——读《Mast
  4. 函数式编程 -- 函数组合
  5. mysql long varchar2_案例:Oracle数据库long查询结果转换为varchar2类型方法的操作步骤...
  6. Mysql 5.7 for windows 免安装版(解压版)安装和配置
  7. 十大Ajax框架(排名不分先后)
  8. 数据结构实习(欢迎大家一起在评论区交流学习)
  9. POC-T批量poc验证工具
  10. Faster R-CNN详解
  11. 分布式数据库之TiDB
  12. matlab 图片RGB颜色提取0-255版
  13. java核心技术读书笔记—继承
  14. 做什么样的小生意适合一两个人去做,月收入在一万左右?
  15. 计算机投影维修维护,投影机维修常见故障解决方法
  16. 使用Testin云测试进行兼容测试
  17. 掌上题库V1.2.2全开源版本小程序带后端
  18. [MMDxUE4]将MMD的模型和动作、相机文件导入UE4中使用
  19. CSDN的评论区怎么添加超链接?
  20. 《3D游戏与计算机图形学中的数学方法》学习笔记 第二章

热门文章

  1. 【数据结构】— 「时间复杂度」与「空间复杂度」
  2. Web前端学习6个有效果软件,你值得拥有!
  3. Android ExpandableListView 使用实例
  4. Linux调试排错命令
  5. 如何伦敦银走势图中寻找波段操作机会
  6. 大数据开发要学习什么
  7. 谷歌将 Istio 商标移交 OUC,IBM 表示失望
  8. Python 安装PyQt5失败:Permission denied:d3dcompiler_47.dll
  9. webpack对css文件打包:css-loader和style-loader版本过高问题
  10. 找到个eclipse旧版下载地址有jdk1.8最后一版2020-06