python 判断txt每行内容中是否包含子串并重新写入保存的实例


Posted in Python onMarch 12, 2020

假设需要批量处理多个txt文件,然后将包含子串的内容写入一个txt文件中,这里假设我的子串为"_9"和“_10”

python 判断txt每行内容中是否包含子串并重新写入保存的实例

下面就是我想要得到的其中两行内容(实际上还有很多行哈哈):

python 判断txt每行内容中是否包含子串并重新写入保存的实例

直接上代码:

#! /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 判断txt每行内容中是否包含子串并重新写入保存的实例

完美有没有!!!

补充知识: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);

以上这篇python 判断txt每行内容中是否包含子串并重新写入保存的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中使用smtplib和email模块发送邮件实例
Apr 22 Python
在Django的模板中使用认证数据的方法
Jul 23 Python
Python中的数学运算操作符使用进阶
Jun 20 Python
python解决汉字编码问题:Unicode Decode Error
Jan 19 Python
python无限生成不重复(字母,数字,字符)组合的方法
Dec 04 Python
python3实现点餐系统
Jan 24 Python
详解python数据结构和算法
Apr 18 Python
python卸载后再次安装遇到的问题解决
Jul 10 Python
用Python 爬取猫眼电影数据分析《无名之辈》
Jul 24 Python
python自动化测试三部曲之request+django实现接口测试
Oct 07 Python
win10+anaconda安装yolov5的方法及问题解决方案
Apr 29 Python
详解Python魔法方法之描述符类
May 26 Python
python 两个一样的字符串用==结果为false问题的解决
Mar 12 #Python
python不相等的两个字符串的 if 条件判断为True详解
Mar 12 #Python
Python 实现使用空值进行赋值 None
Mar 12 #Python
PyCharm永久激活方式(推荐)
Sep 22 #Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
Mar 12 #Python
pycharm激活码快速激活及使用步骤
Mar 12 #Python
Python自动化测试笔试面试题精选
Mar 12 #Python
You might like
第4章 数据处理-php数组的处理-郑阿奇
2011/07/04 PHP
php表单敏感字符过滤类
2014/12/08 PHP
php通过记录IP来防止表单重复提交方法分析
2014/12/16 PHP
php使用CURL伪造IP和来源实例详解
2015/01/15 PHP
Laravel5.1自定义500错误页面示例
2016/10/09 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
php实现微信公众号企业转账功能
2018/10/01 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
php如何实现数据库的备份和恢复
2020/11/30 PHP
JavaScript 继承详解(三)
2009/07/13 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
2014/08/12 Javascript
javascript工厂方式定义对象
2014/12/26 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
2016/11/01 Javascript
深入理解vue.js双向绑定的实现原理
2016/12/05 Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
2018/11/02 Javascript
基于javascript实现贪吃蛇经典小游戏
2020/04/10 Javascript
微信小程序实现canvas分享朋友圈海报
2020/06/21 Javascript
[11:01]2014DOTA2西雅图邀请赛 冷冷带你探秘威斯汀
2014/07/08 DOTA
pygame学习笔记(6):完成一个简单的游戏
2015/04/15 Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
Python网络爬虫与信息提取(实例讲解)
2017/08/29 Python
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
澳洲国民品牌乡村路折扣店:Country Road & Trenery Outlet
2018/04/19 全球购物
同学会主持词
2014/03/18 职场文书
《狼和小羊》教学反思
2014/04/20 职场文书
团组织关系介绍信
2019/06/24 职场文书
mysql 生成连续日期及变量赋值
2022/03/20 MySQL