查找txt中指定的字符串,并删除空白txt文件

最近在整理yolo的txt标签,自己写了一段公式,顺便放到博客上当做备份

这是我的文本内容,我要查找出第一列包括4的txt文件,并删除空白的文件

 

'''Python判断一个字符串是否包含指定字符串的方法https://www.cnblogs.com/orangeJJJ/p/10109232.html'''
'''从TXT文件里查找指定内容,并移动,也可以删除空白txt文件'''
import os
import shutil

txtdir = r'E:\Desktop\data\severstal\1'#TXT文件的目录
outdir = r"E:\Desktop\data\severstal\peeling-labels"#存放筛选的TXT文件

txtfilelist = []#存放筛选的TXT文件
def find_txt():#查找txt文件
    txtfiles = os.listdir(txtdir)
    for txtfile in txtfiles:
        txt = open(os.path.join(txtdir, txtfile), 'r')#这个txt不是str类型
        for line in txt:#line是str类型,内容就是每行的原文
            a = line.find("4", 0, 1)#find函数用来查找指定内容,后两个参数是查找的范围,从第0个字符开始查找,到第1个字符结束查找,返回的a是“4"的位置
            if a == 0:#如果”4“在第0个位置,执行操作
                print(txtfile)
                txtfilelist.append(txtfile)#把这个txt文件名存放到列表
                break
def move_txt():#移动txt文件
    for txtfile in txtfilelist:#遍历列表
        shutil.move(os.path.join(txtdir, txtfile), os.path.join(outdir, txtfile))#移动
        print('move',txtfile)
def delete_txt():#删除空白txt文件
    txtfiles = os.listdir(txtdir)
    for txtfile in txtfiles:
        txtstr = open(os.path.join(txtdir, txtfile), 'r').read()#open函数返回的不是str类型,要用read函数转换成tsr
        length = len(txtstr)#txt文本的长度
        if length <= 1:#我这里删除长度小于1的TXT文件
            print('delete',os.path.join(txtdir, txtfile))
            os.remove(os.path.join(txtdir, txtfile))#移动

if __name__ == '__main__':
    find_txt()#按需注释
    move_txt()#按需注释
    delete_txt()#按需注释

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值