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

文本基础操作

打开文件: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 用正则表达式筛选文本信息的实例相关推荐

  1. python从文件中提取特定文本_python利用正则表达式提取文本中特定内容

    正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python ...

  2. python正则匹配特殊字符_python 利用正则表达式提取特殊信息

    1.删除字符串中的 Python注释 案例: import re time = "2020-01-01 # 这是一个日期" num = re.sub(r'#.*$', " ...

  3. 基于python文本挖掘实战_python实现CNN中文文本分类

    [实例简介] CNN 中文文本挖掘 文本分类 python 深度学习 机器学习 [实例截图] [核心代码] zh_cnn_text_classify-master └── zh_cnn_text_cl ...

  4. python一键替换_python 实现批量替换文本中的某部分内容

    一.介绍 在做YOLOv3项目时,会需要将文本文件中的某部分内容进行批量替换和修改,所以编写了python程序批量替换所有文本文件中特定部分的内容. 二.代码实现 import re import o ...

  5. python文字冒险游戏_python实现的简单文本类游戏实现方法

    本文实例讲述了python实现的简单文本类游戏实现方法.分享给大家供大家参考.具体实现方法如下: ################################################### ...

  6. python文字冒险游戏_python实现的简单文本类游戏实例

    本文实例讲述了python实现的简单文本类游戏实现方法.分享给大家供大家参考.具体实现方法如下: ################################################### ...

  7. 用python找孪生素数_python用递归筛选法求N以内的孪生质数(孪生素数)

    本人最近读完一本书<质数的孤独>,里面讲到孪生质数,就想查一下孪生质数的分布情况.其中主要用到了计算质数(素数)的方法,搜了一下,排名前几的都是用for循环来做的,感觉略微麻烦了一些,在比 ...

  8. python tkinter输入框_python tkinter-按钮.标签.文本框、输入框

    按钮 无功能按钮 Button的text属性显示按钮上的文本 tkinter.Button(form, text='hello button').pack() 无论怎么变幻窗体大小,永远都在窗体的最上 ...

  9. python中文文本分析_python简单的分析文本

    import collections import re #读取tips.txt文件内容,type(mytips)=str with open("tips.txt","r ...

最新文章

  1. 116. 飞行员兄弟【二进制枚举】
  2. strcpy会覆盖原来的吗_幽默你真的会了吗?原来可以这么简单
  3. 【BUG记录】百度人脸识别采集黑屏
  4. SpringCloud Sleuth分布式请求链路追踪
  5. Linux ln命令、软链接和硬链接的区别
  6. 使用php语言 统计字符串,php如何查询字符串长度
  7. mobaxterm下载与使用mobaxterm远程登录Linux
  8. 55个应用html5网站的最好例子
  9. Android Activity绑定到Service
  10. CentOS7下Nginx 安装 Lua 支持
  11. HDU 4380 Farmer Greedy(叉积和三角形知识的综合应用)
  12. 拓端tecdat|python爬虫进行Web抓取LDA主题语义数据分析报告
  13. Away3D学习笔记-物体位置和移动
  14. 自相关性,偏自相关性分析,时间序列相关性分析(spearman相关性,pearson相关性)
  15. rabbitmq配置guest用户远程访问失败
  16. pod构建的ios版本引发 react-native-safe-area-context RN项目的pod-install构建异常
  17. 358. K 距离间隔重排字符串 排序
  18. 同样的工作、同样的做需求,为什么他们能进阿里
  19. 蓝天采集器winds系统页面渲染设置教程
  20. LED显示行业之上位机软件编程篇:

热门文章

  1. 信用卡评测系列——阳光惠生活APP深化服务客户品牌理念,焕新升级7.0版
  2. 【场景化解决方案】“云上管车”连接道闸系统,企业用车流程更高效
  3. java打印直角三角形--等腰三角形--菱形
  4. 如何用分析方法解决工作中的问题?
  5. 文本三剑客之——sed编辑器
  6. Nginx Basic Config
  7. React行内样式的写法
  8. matlab设置坐标轴/字体/颜色
  9. oracle去重保留一条_oracle 去重,取新的一条数据展示
  10. Ubuntu上查崩溃办法