取文件夹中所有图片的图片名,并写入txt文件中


import os
import re
images_path = '/home/wyqq/Desktop/fewshotlogodetection_round1_train_202204/val'   # 图片存放目录
txt_save_path = '/home/wyqq/Desktop/fewshotlogodetection_round1_train_202204/train.txt'  # 生成的图片列表清单txt文件名
fw = open(txt_save_path, "w")
# 读取函数,用来读取文件夹中的所有函数,输入参数是文件名
def read_directory(directory_name):for filename in os.listdir(directory_name):print(filename)  # 仅仅是为了测试fw.write(filename + '\n')  # 打印成功信息# img = cv2.imread(directory_name + "/" + filename)# #####显示图片######## cv2.imshow(filename, img)# cv2.waitKey(0)# ####################### #####保存图片########## cv2.imwrite("D://wangyang//face1" + "/" + filename, img)if __name__ == '__main__':read_directory(images_path)#这里传入所要读取文件夹的绝对路径,加引号(引号不能省略!)

对txt文件内容去除.jpg后缀

with open('/home/wyqq/Desktop/fewshotlogodetection_round1_train_202204/train.txt', 'r') as fpr:content = fpr.read()
content = content.replace('.jpg', '')
print(content)
with open('/home/wyqq/Desktop/fewshotlogodetection_round1_train_202204/train1.txt', 'w') as fpw:fpw.write(content)

按文件名划分图片

这个脚本目的是 读取一个txt文件里面的每一行,取出每一行,加上要移动的后缀,移动到指定文件夹中。例如读取train1中的每一行,然后将label里面对应的文件移动到zz里面。

import shutilif __name__ == '__main__':file_object = open('/home/wyqq/Desktop/fewshotlogodetection_round1_train_202204/train1.txt')try:for line in file_object:# print(line)shutil.move('/home/wyqq/Desktop/fewshotlogodetection_round1_train_202204/label/'+line.rstrip('\n')+'.txt', "/home/wyqq/Desktop/fewshotlogodetection_round1_train_202204/zz/")finally:file_object.close()

比较两个文件夹,删除不同的文件

# -*- coding: utf-8 -*-
import osdef contrastDir(path_jpg,path_txt):jpg_list = []txt_list = []for root, dirs, files in os.walk(path_jpg):# 文件夹a路径for file in files:if os.path.splitext(file)[1] == '.jpg':jpg_list.append(os.path.splitext(file)[0])for root, dirs, files in os.walk(path_txt):# 文件夹b路径for file in files:if os.path.splitext(file)[1] == '.txt':txt_list.append(os.path.splitext(file)[0])#对比txt与jpgdiff = set(txt_list).difference(set(jpg_list))print(len(diff))for name in diff:print(name + ".txt"+'has No corresponding image file')#对比jpg与txtdiff2 = set(jpg_list).difference(set(txt_list))print(len(diff2))for name in diff2:print(name + ".jpg"+" has No corresponding XML file")
#删除没有的对应txt的图像os.remove(path_jpg+name+'.jpg')return jpg_list,txt_listif __name__ == '__main__':my_dir_jpg = '/home/wyqq/Desktop/Program/object-detection/yolov5-6.1/tennis_data/images/ImageData/'my_dir_txt = '/media/wyqq/YuQing-Data/DataProcess/labels/'contrastDir(my_dir_jpg, my_dir_txt)

在处理YOLO的txt标签文件时,发现要对txt的第一列标签类别顺序进行更改,所以下面脚本是对txt文件第一列更改的。

import os
txt_dir = '/home/wyqq/Desktop/utils/txt/val1'
out_dir = '/home/wyqq/Desktop/utils/txt/val2'for name in os.listdir(txt_dir):if not name.endswith('.txt'):continuetxt_path = os.path.join(txt_dir,name)out_path = os.path.join(out_dir,name)with open(txt_path, mode='r', encoding='utf-8') as f: lines = f.readline()temp = [] while lines:tem = lines.split()    if tem[0] == '38':tem[0] = '2'if tem[0] == '32':tem[0] = '1'temp.append(' '.join(tem))lines = f.readline()f.close()if not os.path.exists(out_dir):os.makedirs(out_dir)with open(out_path, mode='w', encoding='utf-8') as out: for i in temp:out.write(i+'\n')print('done')

Python脚本之对文件的处理相关推荐

  1. python图标的演变_把Python脚本生成exe文件并添加版本信息和自定义图标

    pyinstaller和py2exe把Python脚本生成exe文件,并添加版本信息和自定义图标. 写了一个查找产品通道号的小程序,目前还没进行异常处理. 以下是程序源码. # -*- coding: ...

  2. python 脚本转exe文件

    python 脚本转exe文件 # 下载pyinstaller pip3 install pyinstallerpyinstaller -F main.py -n 转XXX小工具 --noconsol ...

  3. 利用python脚本程序监控文件被修改

    需求: 利用python编写监控程序,监控一个文件目录,当目录下的文件发生改变时,实现有修改就发报警邮件 邮件使用QQ邮箱,需要开启smtp,使用手机发生短信,腾讯会给你发邮箱密码.如下所示: 把这个 ...

  4. 清除python shell中的内容_如何使用python脚本定时清空文件内容?

    我们一直在对大家强调关于python脚本的使用,但是有部分同学提出疑问,就是关于上期跟大家说的shell脚本没有实质性的使用效果,如果在实际应用里,要怎么使用这个脚本,它又能实现什么效果,其实针对这个 ...

  5. python脚本转lua_初次使用Python脚本,proto协议文件转Lua代码

    使用IntelliJ IDEA编辑器编写Lua脚本的时候,安装一个插件 "EmmyLua" 可以对有代码提示功能 想把protoBuf协议文件转成Lua代码,然后给出代码提示 第一 ...

  6. cmd运行python脚本处理其他文件_如何在cmd命令行里运行python脚本

    在电脑安装好python软件之后即可通过cmd命令行运行python脚本文件.不过有些小伙伴不懂,今天小编我就来说一下cmd命令行如何运行python脚本文件. 工具/原料 电脑 python 3 方 ...

  7. python脚本修改hosts文件

    记一次使用python脚本来修改hosts文件,由于公司服务器需要换ip地址,服务器里都是Linux系统,而hosts文件中有些解析的ip,手动一台一台的解析太麻烦,就写了这个脚本.本来以为感觉很简单 ...

  8. python脚本将json文件生成C语言结构体

    1.引言 以前用过python脚本根据excel生成相关C语言代码,其实本质就是文件的读写,主要是逻辑问题,这次尝试将json文件生成C语言的结构体. 2.代码 这是一个json文件,生成这个结构体的 ...

  9. 用PYTHON脚本拆分M3U文件

    M3U文件是播放列表文件,里面记录的是一条一条的音频或视频资源地址. 最近从网上收集了一些在线电视的资源列表,这M3U文件的形式,但这个列表长度达到1000多项内容. 而且这里面包含了太多已经失效的资 ...

  10. 使用Python脚本读取fasta文件

    读取FASTA文件 使用pip下载biopython pip.exe install biopython import sys from Bio import SeqIO sys.path #检查模块 ...

最新文章

  1. Python使用matplotlib可视化气泡图、并使用encircle函数自定义多边形圈定可视化图像中的指定区域(Bubble plot with Encircling)
  2. java程序员修炼之道
  3. 【PC工具】更新免费文库文档下载器,破解文库下载器,免费下载文库文档
  4. 待删除未删除 问题解决
  5. ❤️你还在用visio画图吗?已经落伍啦!快来试试轻量级绘图神器draw.io吧!❤️
  6. C#(.Net)中调用Sql sever汉字字符串显示为?问号
  7. Mybatis之SqlSession简析
  8. 2018上半年软件设计师上午题参考答案
  9. Java使用lowagie根据模版动态生成PDF(无需额外设置系统字体)
  10. ce修改手游服务器的数据,CE修改器修改游戏数据的方法
  11. clustalX2使用以及相关的问题
  12. docker 启动 redis cluster,使用出现CLUSTERDOWN Hash slot not served(redis cluster重新分配slot)
  13. 什么叫断章取义,什么叫曲解——你被骗了多少年?
  14. Spring依赖注入
  15. matlab求解零输入响应,matlab求解零状态零输入响应
  16. 我所使用的五大返利网站使用比较
  17. 刚子扯谈:“爆吧”圣斗士们,你妈没叫你回家吃饭
  18. 小程序云开发,CMS内容管理系统
  19. 12、Pytest之@pytest.mark.自定义标签使用
  20. Firefox配置阿里云DNS方法

热门文章

  1. 未找到章程文件HTML,项目章程的主要内容不包括( )。 - 信管网
  2. 第二次Rosetta stone学习总结
  3. 星际飞船助推器在地面测试中意外发生爆炸 发射台燃起大火
  4. ARCGIS进行地理配准及影像配准并加载到谷歌地球中查看矢量地图SHP
  5. Spring2.5 综合应用探索
  6. 在Android手机的状态栏上显示一个摄像头是否在使用的图标(防止偷拍)
  7. 帝国理工学院的计算机专业怎样,帝国理工学院计算机专业介绍
  8. 基于安卓的掌上校园系统|食堂缴费图书馆预约【可微信小程序与android studio运行】
  9. LOAM系列——FLOAM配置、安装、问题解决及VLP16测试效果(完结版)
  10. 【JS、一】js 基础