用Python的split函数切片字符串批量修改文件名

文章讲述了在训练目标检测神经网络时遇到的问题,即需要清理图片文件名中的括号和前导空格。作者提出了一个解决方案,使用Python的os模块配合字符串方法,通过倒序切片来分割和重组文件名,从而达到清理目的。代码示例展示了如何遍历文件夹,重命名文件,实现文件名的修改。
摘要由CSDN通过智能技术生成

最近在训练目标检测的神经网络,发现需要把以下的文件名中的括号和括号前面的空格一起去掉。

以下图片存放地址是D:\code\new\JPEGImages

思路:因为图片名称前面的数字位数不同,而后面都是(*).jpg结尾,所以考虑倒数着切片。先通过字符")"把文件名切成两个字符串,之后再把前面的字符串通过" ("切成两个字符串,最后再把三个字符串相加并替换原来的文件名。

举例:比如说修改1_220709 (1).jpg

先通过字符")"分成1_220709 (1.jpg,然后通过" ("把前面的字符串分成1_2207091,最后把三者相加得到1_2207091.jpg

具体看代码实现:

import os #导入模块
filepath = 'D:/code/new/JPEGImages' #存放图片的文件夹地址
listnames = os.listdir(filepath)  #读取文件夹里面的文件名,得到一个字符串列表
for index in listnames:  #通过for循环遍历提取listnames容器中的单个文件名
    mid = index.split(')')[0]   #split分割字符串, 分割之后是两个字符串, 索引[0]取前面的字符串
    string3 = index.split(')')[-1]   #索引[-1]取后面的字符串
    string1 = mid.split(' (')[0]   #分割mid中的字符串, 分割之后是两个字符串, 索引[0]取前面的字符串
    string2 = mid.split(' (')[-1]  #分割mid中的字符串, 分割之后是两个字符串, 索引[-1]取后面的字符串
    old_name = filepath + '/' + index #得到老文件名
    new_name = filepath + '/'+ string1 + string2 + string3 #得到新文件名
    os.rename(old_name, new_name) #找到old_name,用new_name将其替换

print('成功!')

文件名修改之后:

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值