南强小屋 Design By 杰米
本文主要介绍如何对多个文本进行读取,并采用正则表达式对其中的信息进行筛选,将筛选出来的信息存写到一个新文本。
文本基础操作
打开文件: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=".*"
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,正则表达式,筛选
南强小屋 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
南强小屋 Design By 杰米
暂无python 用正则表达式筛选文本信息的实例的评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。