python 判断txt每行内容中是否包含子串并重新写入保存的实例
作者:jiang_ming_ 发布时间:2023-11-28 06:34:56
标签:python,txt,子串,保存
假设需要批量处理多个txt文件,然后将包含子串的内容写入一个txt文件中,这里假设我的子串为"_9"和“_10”
下面就是我想要得到的其中两行内容(实际上还有很多行哈哈):
直接上代码:
#! /usr/bin/python
# -*- coding:UTF-8 -*-
import os
import os.path
import string
txt文件所在的路径和需要保存的目标路径(根据自己的实际目录进行更改即可):
Crop-Ocr_txt文件夹内放置了我需要批量处理的所有txt,我在同级目录下新建一个文件夹名为1000_simple_Ocrtxts,这里目标路径随意就好,能方便找到就行
txt_path = 'D:/youxinProjections/trafic-youxin/MobileNet_v1/obtain_qq_json_new/Crop_Ocr_txt/'
des_txt_path = 'D:/youxinProjections/trafic-youxin/MobileNet_v1/obtain_qq_json_new/1000_simple_OCRtxts/'
txt_files = os.listdir(txt_path) #txt_files能得到该目录下的所有txt文件的文件名
定义一个函数专门用来取包含子串的内容并写入到新的txt文件中,在后边的主函数中直接调用这个函数就行就行:
def select_simples():
for txtfile in txt_files:
if not os.path.isdir(txtfile):
in_file = open(txt_path + txtfile, 'r')
out_file = open(des_txt_path + txtfile, 'a') # 此处自动新建一个文件夹和txtfile的文件名相同,'a'为自动换行写入
lines = in_file.readlines()
for line in lines:
str_name = line.split(" ")[0] # 这里获取的是txt文件中每行内容以空格隔开的第一个元素,也就是我自己txt文件中的*.jpg那一块内容
str1 = '_9' # 这就是我要判断的子串
str2 = '_10' # 这也是子串
#if (string.find(str_name, str1)!=-1) or (string.find(str_name, str2)):
if (str1 in str_name) or (str2 in str_name): # in 可以判断在str_name中是否包含有两个子串,
out_file.write(line) # 若包含子串,则将该行内容全部重新写入新的txt文件
print(str_name)
out_file.close()
主函数到了!:
if __name__ == '__main__':
select_simples()
晒一下最后的结果:
完美有没有!!!
补充知识:python判断文件中有否重复行,逐行读文件检测另一文件中是否存在所读内容
我就废话不多说了,还是直接看代码吧!
#!/bin/env python
# coding:utf-8
#程序功能是为了完成判断文件中是否有重复句子
#并将重复句子打印出来
res_list = []
f = open('./downloadmd5.txt','r')
res_dup = []
index = 0
file_dul = open('./r_d.txt', 'w')
file_last = open('./r_nd.txt','w')
for line in f.readlines():
index = index + 1
if line in res_list:
temp_str = ""
#temp_str = temp_str + str(index) + ',' #要变为str才行
temp_line = ''.join(line)
temp_str = temp_str+temp_line
#最终要变为str类型
file_dul.write(temp_str); #将重复的存入到文件中
else:
res_list.append(line)
file_last.write(line)
#!/bin/env python
# coding:utf-8
import re
res_list = []
f = open('./md5.txt','r')
f2 = open('./virus.conf','r')
index = 0
#没重复的文件名
file_dul = open('./m_nd.txt', 'w')
#重复的文件名
file_ex = open('./m_d.txt', 'w')
virstr = f2.read();
for line in f.readlines():
line=line.strip('\n')
if(re.search(line, virstr)):
line = line + '\n'
file_ex.write(line);
#调用删除rm -rf filename
else:
line = line+'\n'
file_dul.write(line);
来源:https://blog.csdn.net/jiang_ming_/article/details/81028367
0
投稿
猜你喜欢
- 你在使用pandas处理DataFrame中是否遇到过如下这类问题?我们需要删除某一列所有元素中含有固定字符元素所在的行,比如下面的例子:&
- 斐波那契记忆优化法:<script type="text/javascript">var fibonacci
- 一、_func 单下划线开头 --口头私有变量1.1、在模块中使用单下划线开头在Python中,通过单下划线_来实现模块级别的私有化,变量除
- 小毅的blog:http://andymao.com/andy/注:本文实例在IE5.x下可能会显示不出来,请使用IE6、IE7、Firef
- 本文实例讲述了Go语言通过Luhn算法验证信用卡卡号是否有效的方法。分享给大家供大家参考。具体实现方法如下:package mainimpo
- 如图:其中Num是自增长列,Operation是分类标签,count是汇总数据 代码如下:select Num=row_numb
- list1 和list2 两个list , 想要得到list1是不是包含 list2 (是不是其子集 )a = [1,2] b = [1,2
- 把一些地域性比较明显的数据显示在一张地图上,远比给别人一个 Excel 文件好得多。Matplotlib 中也有画地图的函数,但是是静态图,
- table.rows集合中是cell对象 cell.innerHTML = "<td>123</td>&q
- JavaScript是一门OOP,而有些人说,JavaScript是基于对象的。1) 如何创建对象:1. 使用constructor,例如:
- HTML 5基本思维概念形成于2003年,之后W3C对页面超文本应用技术工作小组(WHATWG)开发的HTML草图颇感兴趣,这个小组的开发人
- 见过很多网站,在设计的时候给了用户很大的自由度,我个人并不赞同这种做法。最简单的例子,圈网。我在研究圈网的时候注册完成后圈网给了我一个搜索框
- 5月20日,微软正式提供了Windows XP下可用的雅黑字体下载,雅黑字体是一款近乎完美的字体,解决了宋体小文字无法辩认的问
- Python 模块EasyGui详细介绍前言:在Windows想用Python开发一些简单的界面,所以找到了很容易上手的EasyGui库。下
- 1、设置字体、风格代码主题选择Monokai会是彩色的代码。2、配置CI代码提示<1>下载代码提示项目:https://gith
- IE的特殊性 IE的DOM元素属性与Firefox, Opera, Safari有些不同。在IE中,我们可以给DOM添加任意自定
- 如何用组件实现自动发送电子邮件?我想做一个能够自动发送电子邮件的程序,该如何做? 这就要用到w3 upl
- 《用户研究角度看设计》系列是淘宝的用户研究团队在可用性测试之后的点滴思考。在每次与淘宝用户的直接接触、观察用户的操作之后,作为体验分析师的我
- 今天学习了如何使用pygame来制作小游戏,下面是五子棋的代码,我的理解都写在注释里了import pygame# 导入pygame模块pr