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获取文件后缀名及批量更新目录下文件后缀名的方法
Nov 11 Python
Python with用法实例
Apr 14 Python
python删除列表中重复记录的方法
Apr 28 Python
Python反转序列的方法实例分析
Mar 21 Python
python实现支付宝当面付(扫码支付)功能
May 30 Python
python 保存float类型的小数的位数方法
Oct 17 Python
django-allauth入门学习和使用详解
Jul 03 Python
查看Python依赖包及其版本号信息的方法
Aug 13 Python
python如何使用socketserver模块实现并发聊天
Dec 14 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
Feb 15 Python
Python环境管理virtualenv&virtualenvwrapper的配置详解
Jul 01 Python
Python加载数据的5种不同方式(收藏)
Nov 13 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
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
用PHP的超级变量$_GET获取HTML表单(Form) 数据
2011/05/07 PHP
微信红包随机生成算法php版
2016/07/21 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
Code: write(s,d) 输出连续字符串
2007/08/19 Javascript
基于jquery的jqDnR拖拽溢出的修改
2011/02/12 Javascript
jQuery EasyUI API 中文文档 搜索框
2011/09/29 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
2013/02/26 Javascript
JS通过相同的name进行表格求和代码
2013/08/18 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
JavaScript时间操作之年月日星期级联操作
2016/01/15 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
2017/05/20 Javascript
详解如何在vue中使用sass
2017/06/21 Javascript
js时间戳与日期格式之间相互转换
2017/12/11 Javascript
详解Vue.js项目API、Router配置拆分实践
2018/03/16 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
2018/09/20 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
vue项目打包后请求地址错误/打包后跨域操作
2020/11/04 Javascript
python sort、sorted高级排序技巧
2014/11/21 Python
python函数装饰器用法实例详解
2015/06/04 Python
django如何连接已存在数据的数据库
2018/08/14 Python
Python 实现日志同时输出到屏幕和文件
2020/02/19 Python
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
关于Java finally的面试题
2016/04/27 面试题
销售自我评价
2013/10/22 职场文书
阳光体育活动方案
2014/02/16 职场文书
高考寄语大全
2014/04/08 职场文书
公司股权转让协议书
2014/04/12 职场文书
2014年财务工作自我评价
2014/09/23 职场文书
查摆问题整改措施范文
2014/10/11 职场文书
五一放假通知怎么写
2015/08/18 职场文书
评估“风险”创业计划的几大要点
2019/08/12 职场文书
vue中data里面的数据相互使用方式
2022/06/05 Vue.js
Windows server 2016服务器基本设置
2022/08/14 Servers