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

yipeiwu_com6年前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如何实现int函数的方法示例

前言 拖了这么久,最终还是战胜了懒惰,打开电脑写了这篇博客,内容也很简单,python实现字符串转整型的int方法 python已经实现了int方法,我们为什么还要再写一遍,直接用不就好...

探究python中open函数的使用

探究python中open函数的使用

最近,开始学习python的开发,遇到了一点文件操作的问题,探究一下open函数的使用。 一、open()的函数原型 open(file, mode=‘r', buffering=-1,...

python 排序算法总结及实例详解

python 排序算法总结及实例详解

总结了一下常见集中排序的算法 归并排序 归并排序也称合并排序,是分治法的典型应用。分治思想是将每个问题分解成个个小问题,将每个小问题解决,然后合并。 具体的归并排序就是,将一组无序数...

django连接mysql配置方法总结(推荐)

最近在学习django,学到第五章模型时,需要连接数据库,然后,在这里分享一下方法。 起初是不知道怎样配置mysql数据库,但是还好,django的官网上面有相关的配置方法,下面就直接...

python文本数据处理学习笔记详解

python文本数据处理学习笔记详解

最近越发感觉到限制我对Python运用、以及读懂别人代码的地方,大多是在于对数据的处理能力。 其实编程本质上就是数据处理,怎么把文本数据、图像数据,通过python读入、切分等,变成一个...