从《牛津高阶英汉词典》中提取单词(2)

今天遇上了一大大坑,就是在读取英汉字典文本时,出现了“UnicodeDecodeError”错误。经仔细观察局部变量,发现有的文本能读,有的文本则不能读。根据提示把不能读的删除后,则可以读。可见有些段落有问题。但是到底什么问题,不得而知。路远坑深,恐怕还需要捂一捂。不过还是有收获的,先把今天的收获记录下来的。今天的收获就是对一个文件夹下所有文件的操作。

import re
import os
import os.path

#定义一个数组,用来放置符合正则表达式的单词
words=[]
p=re.compile(r"^[a-z]+$")

#要处理的文件放在此目录下的
filedir=r"D:\Python projects\PythonApplication5\PythonApplication5\A"

#获取文件名列表
filenames=os.listdir(filedir)

print(filenames)

f=open("a-all.txt","w",encoding="gbk")

#读取每一个文件并判断是否符合pattern
#符合的放入word[]中
for filename in filenames:
    filepath=filedir+"\\"+filename
    fr=open(filepath,encoding="gbk")
    for line in fr.readlines():
        if re.match(p,line)!=None:
            words.append(line)
str="".join(words)
f.write(str)
f.close()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值