# 函数输入:文件路径(见调用示例) # 函数输出:该路径下所有文件中单词出现的频率(以字典数据类型进行返回,去除掉长度不大于2的单词) # 注意:1、在统计单词出现的频率时,所有的单词均应先变成小写。
# 2、在统计单词时,从非字母字符(包括空格)的下一个字符作为单词的字母,直到 # 非字母字符(包括空格)截止。
# 3、数据为整个email文件夹 # 例如: Increase volume ofEjacu1ate 分离出来的单词为increase ,volume , ofejacu ,ate def fact(path): # 在下方填充代码,注释掉pass pass # 主函数 if __name__ == “__main__“: # 示例: print(fact('./email/'))
import re
import os
def fact(path):
dic = {}
fnames = os.listdir(path)
for fn in fnames:
filepath = os.path.join(path, fn)
txtnames=os.listdir(filepath)
for item in txtnames:
if re.search(r'\.txt$', item):
txtpath = os.path.join(filepath, item)
with open(txtpath, 'r', encoding='ISO-8859-15') as f:
s = f.read()
words = re.findall(r'[A-Za-z]{3,}', s)
for key in words:
key = key.lower()
dic[key] = dic.get(key, 0) + 1
return dic
# pass
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)