Python脚本之对文件的处理
取文件夹中所有图片的图片名,并写入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脚本之对文件的处理相关推荐
- python图标的演变_把Python脚本生成exe文件并添加版本信息和自定义图标
pyinstaller和py2exe把Python脚本生成exe文件,并添加版本信息和自定义图标. 写了一个查找产品通道号的小程序,目前还没进行异常处理. 以下是程序源码. # -*- coding: ...
- python 脚本转exe文件
python 脚本转exe文件 # 下载pyinstaller pip3 install pyinstallerpyinstaller -F main.py -n 转XXX小工具 --noconsol ...
- 利用python脚本程序监控文件被修改
需求: 利用python编写监控程序,监控一个文件目录,当目录下的文件发生改变时,实现有修改就发报警邮件 邮件使用QQ邮箱,需要开启smtp,使用手机发生短信,腾讯会给你发邮箱密码.如下所示: 把这个 ...
- 清除python shell中的内容_如何使用python脚本定时清空文件内容?
我们一直在对大家强调关于python脚本的使用,但是有部分同学提出疑问,就是关于上期跟大家说的shell脚本没有实质性的使用效果,如果在实际应用里,要怎么使用这个脚本,它又能实现什么效果,其实针对这个 ...
- python脚本转lua_初次使用Python脚本,proto协议文件转Lua代码
使用IntelliJ IDEA编辑器编写Lua脚本的时候,安装一个插件 "EmmyLua" 可以对有代码提示功能 想把protoBuf协议文件转成Lua代码,然后给出代码提示 第一 ...
- cmd运行python脚本处理其他文件_如何在cmd命令行里运行python脚本
在电脑安装好python软件之后即可通过cmd命令行运行python脚本文件.不过有些小伙伴不懂,今天小编我就来说一下cmd命令行如何运行python脚本文件. 工具/原料 电脑 python 3 方 ...
- python脚本修改hosts文件
记一次使用python脚本来修改hosts文件,由于公司服务器需要换ip地址,服务器里都是Linux系统,而hosts文件中有些解析的ip,手动一台一台的解析太麻烦,就写了这个脚本.本来以为感觉很简单 ...
- python脚本将json文件生成C语言结构体
1.引言 以前用过python脚本根据excel生成相关C语言代码,其实本质就是文件的读写,主要是逻辑问题,这次尝试将json文件生成C语言的结构体. 2.代码 这是一个json文件,生成这个结构体的 ...
- 用PYTHON脚本拆分M3U文件
M3U文件是播放列表文件,里面记录的是一条一条的音频或视频资源地址. 最近从网上收集了一些在线电视的资源列表,这M3U文件的形式,但这个列表长度达到1000多项内容. 而且这里面包含了太多已经失效的资 ...
- 使用Python脚本读取fasta文件
读取FASTA文件 使用pip下载biopython pip.exe install biopython import sys from Bio import SeqIO sys.path #检查模块 ...
最新文章
- Python使用matplotlib可视化气泡图、并使用encircle函数自定义多边形圈定可视化图像中的指定区域(Bubble plot with Encircling)
- java程序员修炼之道
- 【PC工具】更新免费文库文档下载器,破解文库下载器,免费下载文库文档
- 待删除未删除 问题解决
- ❤️你还在用visio画图吗?已经落伍啦!快来试试轻量级绘图神器draw.io吧!❤️
- C#(.Net)中调用Sql sever汉字字符串显示为?问号
- Mybatis之SqlSession简析
- 2018上半年软件设计师上午题参考答案
- Java使用lowagie根据模版动态生成PDF(无需额外设置系统字体)
- ce修改手游服务器的数据,CE修改器修改游戏数据的方法
- clustalX2使用以及相关的问题
- docker 启动 redis cluster,使用出现CLUSTERDOWN Hash slot not served(redis cluster重新分配slot)
- 什么叫断章取义,什么叫曲解——你被骗了多少年?
- Spring依赖注入
- matlab求解零输入响应,matlab求解零状态零输入响应
- 我所使用的五大返利网站使用比较
- 刚子扯谈:“爆吧”圣斗士们,你妈没叫你回家吃饭
- 小程序云开发,CMS内容管理系统
- 12、Pytest之@pytest.mark.自定义标签使用
- Firefox配置阿里云DNS方法
热门文章
- 未找到章程文件HTML,项目章程的主要内容不包括( )。 - 信管网
- 第二次Rosetta stone学习总结
- 星际飞船助推器在地面测试中意外发生爆炸 发射台燃起大火
- ARCGIS进行地理配准及影像配准并加载到谷歌地球中查看矢量地图SHP
- Spring2.5 综合应用探索
- 在Android手机的状态栏上显示一个摄像头是否在使用的图标(防止偷拍)
- 帝国理工学院的计算机专业怎样,帝国理工学院计算机专业介绍
- 基于安卓的掌上校园系统|食堂缴费图书馆预约【可微信小程序与android studio运行】
- LOAM系列——FLOAM配置、安装、问题解决及VLP16测试效果(完结版)
- 【JS、一】js 基础