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

作者:bug_hero 时间:2023-04-29 14:12:26 

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

文本基础操作

打开文件: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()

来源:https://blog.csdn.net/bug_hero/article/details/78378109

标签:python,正则表达式,筛选,信息
0
投稿

猜你喜欢

  • python如何将两张图片生成为全景图片

    2021-08-03 23:42:26
  • Python使用PyQt5/PySide2编写一个极简的音乐播放器功能

    2023-11-23 16:32:45
  • python机器学习之随机森林(七)

    2023-10-20 00:25:13
  • 修改fckeditor的文件上传功能步骤

    2023-03-19 17:31:28
  • PyTorch常用函数torch.cat()中dim参数使用说明

    2023-03-07 20:26:49
  • border边框在浏览器中的渲染方式

    2010-03-10 10:52:00
  • Oracle数据库表空间超详细介绍

    2024-01-17 16:49:22
  • PyQt5 PySide2 触摸测试功能的实现代码

    2022-06-23 22:22:25
  • MySQL使用profile查询性能的操作教程

    2024-01-19 10:22:22
  • python实现图片横向和纵向拼接

    2021-12-20 20:53:30
  • Python简单生成随机姓名的方法示例

    2023-04-26 19:35:58
  • Python命令行运行文件的实例方法

    2023-05-10 13:57:56
  • MySQL获取binlog的开始时间和结束时间(最新方法)

    2024-01-23 12:13:31
  • 源码解析gtoken替换jwt实现sso登录

    2024-04-30 09:59:54
  • Sql注入原理简介_动力节点Java学院整理

    2024-01-27 23:51:27
  • webpack-dev-server自动更新页面方法

    2024-04-19 09:48:10
  • JavaScript中layim之整合右键菜单的示例代码

    2024-04-18 09:42:29
  • 原生JS实现九宫格抽奖效果

    2024-04-17 10:33:38
  • 细化解析:怎样把你的MySQL完全中文化

    2008-12-19 17:48:00
  • mysql主键,外键,非空,唯一,默认约束及创建表的方法

    2024-01-17 18:18:06
  • asp之家 网络编程 m.aspxhome.com