1、遇到问题

人脸样本数据中图片本身没有该人脸对应人的名字,需要将名字添加到图片名字中,初始图片和文件名如图

 2、解决思路

(1)需要将名字列表中的元素插入到对应角标的文件夹中下的每一个图片中,需要注意不能更改db文件的文件名。名字列表元素和人脸样本文件夹(部分)如下图

(2)首先将path变量赋为上图文件夹的父文件夹,dirlist = os.listdir(path),dirlist列表存储上图的文件夹;

(3)path1通过循环赋为path + os.sep + dirlist[i],即为上图中的文件夹;

(4)接下来判断path1是否为目录,如果是,执行value = os.listdir(path1),value存储上图文件夹(某一个)中的文件名;

(5)判断value中的文件名是否以tif结尾,如果是,执行rename操作

 3、具体实施

(1)代码

import os
#导入path路径
path = 'D:/SoftwareCache/PyCharmCache/Project_Face/trainer/FERET_80_80/FERET_80_80-人脸数据库'#获取该目录下所有低一级别子目录,存入列表中
dirlist = os.listdir(path)
#需要添加在图片名称中间的名字,存在一个列表里面
subname = ['Lesley','Elva','Gregary','Leonard','Franklin','Joanna','Kim','Roxanne','Berton','Simona','Afra','Dunn','Jesse','Janice','Egbert','Hulda','Betsy','Ansel','Judy','Adair','Channing','Leila','Rita','Edwiin','Samuel','Dana','Samantha','Page','Fitch','Verne','Adolph','Rebecca','Lindsay','Oliver','Claude','Theresa','Woodrow','Jo','Gene','Rock','Hiram','Modesty','Eric','Ada','Sherry','Mike','Janet','Francis','Blair','Vivien','Roberta','Odelia','Scott','Susie','Jenny','Mary','Ford','Juliet','Harriet','Lewis','Riva','Brandon','Ethel','Sid','Matt','Renee','Evelyn','Levi','Mick','Eartha','Veronica','Kent','Lucien','Marshall','Dinah','Frank','Ward','Allen','Quincy','Joy','Maxine','Chasel','Abbott','Mandel','Burton','Ula','Amy','Anastasia','Tyler','Rosalind','Dora','Ann','Donna','Merlin','Donald','Maggie','Antonia','Nicholas','Kerwin','Clarence','Charlotte','Aries','Sandra','Julius','Chester','Constance','Rae','Cornelius','Gordon','Cornelia','Shirley','Adonis','Zona','Donahue','Bonnie','Mignon','Glenn','Winni','Heloise','Theobald','Karen','Elma','Florence','Leona','Malcolm','Kama','Miles','Astrid','Mandy','Grover','Cheryl','Zenobia','Beatrice','Andrea','Abraham','Lee','William','Ron','Spencer','Octavia','Blithe','Ives','Evan','Frances','Buck','Lawrence','Angela','Omar','Jessica','Deborah','Eve','Katherine','Colbert','Humphrey','Phil','Phoebe','Celeste','Valentina','Wendy','Aaron','Horace','Deirdre','Alvis','Drew','Brook','Basil','Hubery','Penny','Stephanie','Eden','Diana','Valentine','Jill','Rachel','Roderick','Baldwin','Devin','Selena','Edmund','Benjamin','Nelson','Cornell','Bowen','Martina','Xaviera','Elijah','Jacqueline','Claire','Morton','Alexander','Orville','Griffith','Irma','Les','Norma','Daphne','Louise','Broderick','Lyndon','Patricia']#i为外层文件夹计数
i = 0for dir in dirlist:#将path1设置为第一个人脸数据的文件夹path1 = path + os.sep + dirlist[i]#获取path1文件夹下的文件,存储在value列表中if os.path.isdir(path1):value = os.listdir(path1)#n为同一文件夹下图片的计数n = 0for image in value:#判断是否为图片,endswith()方法为检测文件后缀if value[n].endswith('tif'):#oldname为该图片的绝对路径oldname = path1 + os.sep + value[n]#newname为新图片的绝对路径newname = path1 + os.sep + '0' + str(n+1) + '-' + subname[i] + '.tif'#new——image的文件名,方便打印看程序执行进度new_image = '0' + str(n+1) + '-' + subname[i] + '.tif'#将文件重命名os.rename(oldname, newname)#打印看进度print(dirlist[i] + '中:' + image, '----------->', new_image)n += 1i += 1

(2)执行结果(部分输出)

FERET-002-Elva中:01.tif -----------> 01-Elva.tif
FERET-002-Elva中:02.tif -----------> 02-Elva.tif
FERET-002-Elva中:03.tif -----------> 03-Elva.tif
FERET-002-Elva中:04.tif -----------> 04-Elva.tif
FERET-002-Elva中:05.tif -----------> 05-Elva.tif
FERET-002-Elva中:06.tif -----------> 06-Elva.tif
FERET-002-Elva中:07.tif -----------> 07-Elva.tif

Python批量为不同文件夹下的文件更名相关推荐

  1. python批量重命名指定目录下所有文件的后缀名

    python批量重命名指定目录下所有文件的后缀名 有个需求,需要把某个文件夹下所有后缀名为.abc的更改为.xyz; #批量重命名指定目录下面所有文件的后缀名. word_dir为需要更改后缀的文件夹 ...

  2. linux替换某个文件夹下所有文件,Linux 批量查找并替换文件夹下所有文件的内容...

    1.批量查找某个目下文件的包含的内容 cd etc grep -rn "查找的内容" ./ 2.批量替换某个目下所有包含的文件的内容 cd etc sed -i "s/查 ...

  3. python根据文件名或后缀名遍历文件夹下所有文件或图片的路径,并计算文件行数

    python遍历文件夹下所有文件或图片的路径 代码 指定目录下的指定后缀文件 import glob #获取指定目录下的所有图片 print (glob.glob("\\home\\qiao ...

  4. python怎么读文件夹下的文件夹-python2.7读取文件夹下所有文件名称及内容的方法...

    最近稍稍有点空闲时间,于是重新温习了一下之前学习过的python基础.废话不多说,记录一下自己的所得. 首先,安装什么的不在本人的温习范围,另,本人使用的是windows下的python2.7版本,且 ...

  5. python读取文件夹下所有文件的名称_python2.7 学习之读取文件夹下所有文件名称及内容...

    python2.7 学习之读取文件夹下所有文件名称及内容 最近稍稍有点空闲时间, 于是重新温习了一下之前学习过的 python 基础废话不多说, 记录一下自己的所得 首先, 安装什么的不在本人的温习范 ...

  6. python 获取文件夹所有文件列表_python获取文件夹下所有文件及os模块方法

    python获取文件夹下所有文件 方法一:使用os.listdir import os for filename in os.listdir(r'c:\windows'): print filenam ...

  7. python删除文件夹中的jpg_python删除文件夹下相同文件和无法打开的图片

    前天不小心把硬盘格式化了,丢了好多照片,后来用Recuva这款软件成功把文件恢复过来,可是恢复的文件中有好多重复的文件和无法打开的图片,所以写了两个python的小程序用来解决这个问题 删除相同文件: ...

  8. python 统计文件夹下的文件夹/某类型文件的数目

            用代码读取文件时,有时需要统计某文件夹下所有文件的数目,并读取指定数目的文件!我们通常使用python的os模块完成统计工作,具体方法如下: 1.统计某文件夹下的文件夹和文件的总个数( ...

  9. 批量替换文件夹下的文件与文件夹名

    批量替换文件夹下的文件与文件夹名 打开要修改文件名的路径,在地址栏里输入cmd,打开命令提示符窗口 输入 dir /b >所有文件名.txt ,会生成当前文件夹下所有的文件名称 生成的文件会把自 ...

最新文章

  1. 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库01 —— 准备环境,搭建本地仓库,安装ambari...
  2. 一位资深程序员面试Python工程师的岗位心得和历程
  3. wireMock快速伪造restful服务
  4. php数组中删除元素
  5. Deep learning:十一(PCA和whitening在二维数据中的练习)
  6. NET- SplitContainer控件说明
  7. atitit 国家与社区发展战略研究attilax 总结 v2 .docx
  8. Atitit.500 503 404错误处理最佳实践oak
  9. greenplum客户端工具_GreenPlum数据加载工具gpload | 信春哥,系统稳,闭眼上线不回滚!...
  10. NERO9注册机使用
  11. 《系统分析与设计》课程设计——医院门诊信息管理查询系统
  12. Android Framework启动流程
  13. 关于Intriguing properties of neural networks的理解
  14. 微信小程序 自动换行
  15. 前端:zoom的缩放功能,以及overflow介绍
  16. mysql按 结束不了语句_每一条 mysql 命令必须以( )结束,否则系统判断语句尚未结束,暂不执行_大学计算机A1重修答案_学小易找答案...
  17. Opencv 笔记5 边缘处理-canny、sobel、Laplacian、Prewitt
  18. 01-如何选购CPU散热器?小白装机通俗易懂的水冷/风冷CPU散热器知识
  19. Centos 离线下载包
  20. WordPress的最佳PDF查看器比较

热门文章

  1. 简化基因组分析注意事项
  2. 产品推广html5,【How-To】如何让你的 HTML5 产品活得更久?看看这5个要素
  3. keep sb updated_keep you update 和keep you updated哪个正确?
  4. 2021年安全员-A证-主要负责人(广东省)考试题及安全员-A证-主要负责人(广东省)试题及解析
  5. LibGdx框架 之 tmx地图文件属性基本操作
  6. Data topic details | Data
  7. 《实用医学统计学与SAS应用》学习笔记 | 数值变量资料或等级资料比较的秩和检验...
  8. css汉字注释乱码,css font-family属性设置中文字体乱码
  9. 第二次 过程性考核
  10. 网考计算机应用基础试题,网考计算机应用基础统考试题