Use a função split do Python para dividir strings e modificar nomes de arquivos em lotes

Recentemente, ao treinar a rede neural para detecção de alvo, descobriu-se que os colchetes nos seguintes nomes de arquivo e os espaços antes dos colchetes precisam ser removidos juntos.

O endereço de armazenamento das seguintes imagens é D:\code\new\JPEGImages

Ideia: Como o número de dígitos na frente do nome da imagem é diferente e o final do nome da imagem é (*).jpg, considere a contagem regressiva da fatia. Primeiro, corte o nome do arquivo em duas strings através do caractere ")", depois corte a string anterior em duas strings até "(", e finalmente adicione as três strings e substitua o nome do arquivo original.

Exemplo: Por exemplo, modifique 1_220709 (1).jpg

Primeiro divida o caractere ")" em 1_220709 (1 e .jpg , depois divida a string anterior em 1_220709 e 1 até "(" , e finalmente adicione os três para obter 1_2207091.jpg

Observe especificamente a implementação do código:

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('成功!')

Após a modificação do nome do arquivo:

Acho que você gosta

Origin blog.csdn.net/m0_63769180/article/details/129064212
Recomendado
Clasificación