正则提取文本,正则表达式提取txt数据
批量读取某个文件夹中的txt文件,找出网址。
import re import OS path=r g: python code Zhengze #此文件目录存储要提取的txt文件file _ path=[]for Filename in OS . listdir(path):#获取path file _ path下所有文件的路径. append ((os.path.join (path,Filename)))print (file_path)#调用正则函数过滤每个文本,过滤后的数据存储在file _ path中的数组final for address:file _ object=open(adress, Rb )lines=file _ object . readlines()#将文本的内容赋给lines file _ object . close()new _ lines=[]for x in lines:new _ x=x . split()#注意:splitlines是将传入的字符串中的 n 去掉,然后以数组的形式发出,而不是new_x:try中I的字符串形式:使用# Try是因为捕获的txt文件会有utf-8无法解析的字符,所以需要跳过data=I; data=data . decode( utf-8 )match _ obj=re . search(r https://。*,data)if match _ obj:new _ lines . append(match _ obj . group())except:continue final=new _ lines file _ 2=open(r g: python code Wang zhi 1 . txt ,W )#创建一个新的txt文本来存储提取的URL for x in final:for k in range(len(x)):if(x[k]== ):# URL两端可能存在,需要处理掉。x=x[:k]break;file _ 2 . write(x)file _ 2 . write( n )file _ 2 . close()