今天遇上了一大大坑,就是在读取英汉字典文本时,出现了“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()