目的:

某一个文件下存放的是各种各样所有的图片,希望把这些图片进行分类。比如:将图片名字中含有绝缘子自爆的图片放在绝缘子自爆的文件夹下。将图片名字中含有树枝的图片放在树枝的文件夹下。

一、将含有某一个特定字符串的图片的完整名字存放在一个.txt文本下

"""
打开图片文件夹,获取文件夹中图片的名字,如果图片名字中包含某个字符串,把这个图片的完整名字存在一个.txt文本中
参考:https://blog.csdn.net/zhangxiangweide/article/details/78857997
修改两处绝缘子自爆,注意自己在相应位置 建立文件夹
"""
# -*- coding:utf-8 -*-
import os #os:操作系统相关的信息模块
#存放原始图片地址
data_base_dir = "/home/dlut/网络/make_database/全部巡视缺陷图片/"#含所有图片的文件
file_list = [] #建立列表,用于保存图片信息
#读取图片文件,并将图片地址、图片名和标签写到txt文件中
write_file_name = '/home/dlut/网络/make_database/缺陷图片分类/绝缘子自爆.txt'  #自己手动创建一个.txt文本
write_file = open(write_file_name, "w") #以只写方式打开write_file_name文件
for file in os.listdir(data_base_dir): #file为current_dir当前目录下图片名if file.find("绝缘子自爆")>0:  #需要找带有什么名字的字符串"""find函数:如果包含子字符串返回开始的索引值,否则返回-1。所以我用了一个判断语句,判断是否大于0,大于0,说明包含这个字符串,保存名字。如果不写大于0,不论是否包含绝缘子这几个字,都会把图片保存下来。if语句 0为false 其他数字均为true"""write_name = file #图片路径 + 图片名 + 标签file_list.append(write_name) #将write_name添加到file_list列表最后
number_of_lines = len(file_list) #列表中元素个数
for current_line in range(number_of_lines):write_file.write(file_list[current_line] + '\n')
write_file.close()

结果:(截图未截全)

二、将txt文件中的名字的图片存在另一个自己新建的文件夹下,同时在原文件夹下删除这些图片

##########################某一个txt文本中的数字存的是图片的名字,要把这些名字的图片保存到另一个文件夹中,同时删除了原文件下的这些图片(可以自己选择不删除os.remove)########################
#修改两处,注意自己建立文件
from PIL import Image
import os
f3 = open("/home/dlut/网络/make_database/缺陷图片分类/绝缘子自爆.txt",'r') #test文件所在路径
for line2 in f3.readlines():line3=line2[:-5] #读取每行去掉后四位的数im = Image.open('/home/dlut/网络/make_database/全部巡视缺陷图片/{}.JPG'.format(line3))#打开改路径下的line3记录的的文件名im.save('/home/dlut/网络/make_database/缺陷图片分类/绝缘子自爆/{}.JPG'.format(line3)) #把文件夹中指定的文件名称的图片另存到该路径下#注意!!!!!!!下面这句话是删除原文件下含有这些名字的图片,也可以选择不删除,那就删掉下面那句话os.remove('/home/dlut/网络/make_database/全部巡视缺陷图片/{}.JPG'.format(line3)) #删除原来文件夹下名字包括绝缘子自爆的图片
f3.close()

结果:(截图未截全)

参考:
https://blog.csdn.net/zhangxiangweide/article/details/78857997
https://blog.csdn.net/qq_39418067/article/details/89048165
https://blog.csdn.net/yongwan5637/article/details/80622009
https://blog.csdn.net/weixin_43384257/article/details/98374743

【数据集处理】Python 将图片名字中含有某一字符串的图片存到指定文件夹下相关推荐

  1. python读取多个文件夹图片_python或C++读取指定文件夹下的所有图片

    本文实例为大家分享了python或C++读取指定文件夹下的所有图片,供大家参考,具体内容如下 1.python读取指定文件夹下的所有图片路径和图片文件名 import cv2 from os impo ...

  2. xml遍历文件夹vector_怎么统计指定文件夹下含有.xml格式的文件数目

    如何统计指定文件夹下含有.xml格式的文件数目?如题 ------解决思路----------------------Directory.GetFiles(@"路径", " ...

  3. python读取文件名-Python获取指定文件夹下的文件名的方法

    本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 一.os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. os.walk(top, t ...

  4. python下载文件到指定目录-Python获取指定文件夹下的文件名的方法

    本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 一.os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. os.walk(top, t ...

  5. python怎么读文件名-Python获取指定文件夹下的文件名

    本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 一.os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. os.walk(top, t ...

  6. python读取文件夹下特定的文件_python os模块获取指定文件夹下所有文件名

    本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. python os模块获取指定文件夹下所有文件名 第一种方法使用os.walk(): os.walk() 方法 ...

  7. Python获取指定文件夹下的文件名

    本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 一.os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. [python] view ...

  8. python打开指定文件-Python获取指定文件夹下的文件

    本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 一.os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. os.walk(top, t ...

  9. python批量生成文件夹_python实现批量获取指定文件夹下的所有文件的厂

    本文实例讲述了python实现批量获取指定文件夹下的所有文件的厂商信息的方法.分享给大家供大家参考.具体如下: 功能代码如下: import os, string, shutil,re import ...

最新文章

  1. Java:使用DOM4j来实现读写XML文件中的属性和元素
  2. sklearn pipeline_sklearn基础
  3. 2021-04-08
  4. 项目中CI缓存适配器的使用
  5. 23种设计模式之访问者模式
  6. 泛型系列3:获取泛型的类型
  7. XINS 3.1.0 Alpha2 发布,远程 API 调用规范
  8. 宠物诊所java项目_java毕业设计_springboot框架的宠物医院医疗
  9. 有了这6款浏览器插件,浏览器居然“活了”?!媳妇儿直呼“大开眼界”
  10. 马化腾回忆创业:曾假扮女孩子陪聊
  11. 数据库无法连接的几种情况
  12. redis之db(数据库)
  13. 英特尔Sandy Bridge处理器深度解析
  14. 计算机视觉(十一):Keras Pipline与自定义模型
  15. 【复】一次流量分析经历
  16. Java下变量大小写驼峰、大小写下划线、大小写连线转换
  17. OpenCV实现SfM(四):Bundle Adjustment
  18. 一文看懂 DDD(领域驱动设计)、CQRS和Event Souring与分层架构
  19. 上海领科作为A-Level领军学校,为什么要开设IB课程?
  20. java调用excel在页面生成饼状图_Java 在 Excel 中创建饼图/环形图

热门文章

  1. 5g理论速度_5g速度是4g多少倍
  2. uni-app+iconfont 实现星级评分(vue)
  3. against fate
  4. Go1.20 arena新特性示例详解
  5. loj #6247. 九个太阳
  6. 用户名、密码等常用的js正则表达式
  7. Latex多个子图进行组合
  8. ------已搬运-------BUUCTF:[BJDCTF 2nd]假猪套天下第一-----------Header请求头学习!!!
  9. [1150]Linux服务器上使用rz命令上传文件报:Segmentation Fault
  10. CorelDRAW 折扇效果实例教程学会了就顶学几年了