python 用正则表达式筛选文本信息的实例

 更新时间:2018年06月05日 14:25:55   作者:bug_hero  
今天小编就为大家分享一篇python 用正则表达式筛选文本信息的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

本文主要介绍如何对多个文本进行读取,并采用正则表达式对其中的信息进行筛选,将筛选出来的信息存写到一个新文本。

文本基础操作

打开文件:open(‘文件名',‘打开方式')>>>file=open(r'C:\Users\yuanlei\Desktop\mytxt.txt','w+').为避免报错,在文件名的引号前加个r.

文件打开方式:只读——r或rt,rb为二进制文件;打开文件前清空文件内容——w或wt;在文末写入——a+;

清空内容然后在文末写入——w+;写到文件任意位置——r+;

关闭文件:文件打开运行好后必须要关闭——文件名.close()>>>mytxt.close()

读取文件中的内容:将每行内容,包括换行符,作为一个元素存入数组——lines=file_object.readlines(),但是这样会把换行符也赋进去

去除换行符——new_lines=lines.splitlines()

os包:import os 获取文件地址——os.listdir(父文件地址)

下面附上实现摘要中说的功能的完整代码:

# coding: utf-8
#读取文本中的中英文数据并使用正则表达式将所需数据筛选入到一个新文本中
import re
import os

#zhengze函数对读取到的数据进行筛选,并将筛选好的数据存入数组new_lines
new_lines=[]    #申明new_lines数组
def zhengze(f):
 regex_str=".*?(l.*?e).*"
 for x in f:
  new_x = x.splitlines()  #注意:splitlines是将传入的字符串去除'\n'之后以数组的形式传出,而不是字符串形式
  match_obj=re.match(regex_str,new_x[0])
  if match_obj:
   new_lines.append(match_obj.group(1))
  else:
   new_lines.append('no')
 return new_lines

#获取指定文件夹下的所有文本的绝对地址,并存入数组file_path
path=r'C:\Users\yuanlei\Desktop\new_file_txt'
file_path=[]
for filename in os.listdir(path):  #获取path下所有文件的路径
 file_path.append((os.path.join(path,filename)))
print file_path

#对每个文本调用正则函数进行筛选,筛选过后的数据存入数组final
for adress in file_path:
 file_object=open(adress)
 lines = file_object.readlines( )  #将文本中的内容以数组的形式(每行为一个元素)赋给lines
 file_object.close()
 final=zhengze(lines)
print final

#将筛选出来的数据写入新文本re_new.txt
file_2=open(r'C:\Users\yuanlei\Desktop\re_new.txt','w+')
for x in final:
 file_2.write(x)
 file_2.write('\n')
file_2.close()

以上这篇python 用正则表达式筛选文本信息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用Python实现快速复制或剪切文件列表中的所有文件

    使用Python实现快速复制或剪切文件列表中的所有文件

    在程序开发的过程中,处理文件是我们日常工作中一个很重要的环节,所以这篇文章小编就来和大家一起聊聊如何用Python来快速复制或剪切一个文件列表中的所有文件吧
    2025-04-04
  • pytorch 固定部分参数训练的方法

    pytorch 固定部分参数训练的方法

    今天小编就为大家分享一篇pytorch 固定部分参数训练的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python设计模式之享元模式原理与用法实例分析

    Python设计模式之享元模式原理与用法实例分析

    这篇文章主要介绍了Python设计模式之享元模式原理与用法,结合实例形式较为详细的分析了享元模式的相关概念、原理、定义及使用方法,需要的朋友可以参考下
    2019-01-01
  • Python中dtype、type()和astype()的区别详解

    Python中dtype、type()和astype()的区别详解

    这篇文章主要介绍了Python中dtype、type()和astype()的区别详解,type()是python内置的函数,type()返回数据结构类型(list、dict、numpy.ndarray 等),需要的朋友可以参考下
    2023-08-08
  • 基于Python实现Markdown转ePub

    基于Python实现Markdown转ePub

    数字阅读ePub格式因其良好的兼容性和阅读体验,已经成为电子书的主流格式之一,而Markdown作为一种轻量级标记语言,以其简洁易用的特点深受技术写作者喜爱,下面我们来看看如何实现二者之间的格式转换吧
    2025-04-04
  • python实现五子棋人机对战游戏

    python实现五子棋人机对战游戏

    这篇文章主要为大家详细介绍了python实现五子棋之人机对战游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • numpy.random.seed()的使用实例解析

    numpy.random.seed()的使用实例解析

    这篇文章主要介绍了numpy.random.seed()的使用实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Python 实现将numpy中的nan和inf,nan替换成对应的均值

    Python 实现将numpy中的nan和inf,nan替换成对应的均值

    这篇文章主要介绍了Python 实现将numpy中的nan和inf,nan替换成对应的均值,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python中层次聚类的详细讲解

    Python中层次聚类的详细讲解

    层次聚类( Hierarchical Clustering )是聚类算法的一种,通过计算不同类别的相似度类创建一个有层次的嵌套的树,下面这篇文章主要给大家介绍了关于Python中层次聚类的详细讲解,需要的朋友可以参考下
    2022-12-12
  • python的重要技能输入与输出字符串格式化使用详解

    python的重要技能输入与输出字符串格式化使用详解

    这篇文章主要为大家介绍了python的重要技能输入与输出格式化使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06

最新评论