python 实现txt文件转txt文件 windows下

<span style="font-size:24px;">#功能描述:读取一个txt文件,选择其中w,h大于阈值的,存入另一个txt文件中
# -*- coding:utf-8 -*-
import sys
sys.path.append('E:\\Anaconda\\libs')
import numpy as np   #numpy:提供矩阵运算功能的库  
import cv2       #cv2:opencv库  
import os        #os:操作系统相关的信息模块  
#待处理图片名及人脸区域(x,y,w,h)的txt文件地址  
read_file_name_rect = "C:\\Users\\Administrator.MICROSO-1HCAN56\\Desktop\\VOC2007xml_face_faster_rcnn\\annotate.txt"  

file_list = []   
#输出图片名及人脸区域(x,y,w,h)的txt文件地址  
write_file_name = 'C:\\Users\\Administrator.MICROSO-1HCAN56\\Desktop\\VOC2007xml_face_faster_rcnn\\11.txt'  
write_file = open(write_file_name, "w")   #以只写方式打开write_file_name文件   
  
# =========== read rect file ===============  
with open(read_file_name_rect, "r") as ins:  #以只读方式打开文件read_file_name_rect,并将其赋值给ins  
    array_rect = []    #定义一个空列表,读文件中每行,作为其一个元素  
    for line in ins:   #依次读ins中每个元素  
        array_rect.append(line)      #将line元素,添加到列表array_rect最后  
array_rect = array_rect[1:]   # 切片,舍弃第0个,从第1个取到最后一个  
number_of_lines = len(array_rect)  #取列表长度,即列表中有多少个元素。  
print "number_of_lines:", number_of_lines  #输出列表元素个数  
  
# =========== Start processing ===============    
for current_rect in range(0, number_of_lines): #current_rect依次取值0,1,2.....number_of_lines-1  
    if current_rect % 100 == 0:       #每100次输出一次  
        print "Processing rect number " + str(current_rect)  
    current_info = array_rect[current_rect].split()    #在列表中,以空格为界,对字符串进行切片处理  
    current_image_name = current_info[0]      #图片名  
    #(x,y)表示图片左上角坐标,w表示宽,h表示高  
    x = max(0, int(current_info[1]))  
    y = max(0, int(current_info[2]))  
    w = int(current_info[3])  
    h = int(current_info[4])  
  
    if (w >= 80 and h >= 100): 
        file_list.append(array_rect[current_rect])   
	 
number_of_face = len(file_list)  #列表中元素个数  
#将图片信息写入txt文件中,逐行写入  
for current_line in range(number_of_face):  
    write_file.write(file_list[current_line])  
#关闭文件  
write_file.close()</span>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值