20190221-文件操作
程序员文章站
2023-03-31 21:10:01
假定一个全英文的文件,读取该文件,请统计多少个不重复的单词,并且在另外一个文件中写上结果每个单词出现的次数,以及一共有多少个不重复的单词分别为哪些 注意:文件中可能包含特殊符号 Step1:打开文件,可使用方法如下: 方法1:fp = open(file,'r',encoding ='utf-8') ......
假定一个全英文的文件,读取该文件,请统计多少个不重复的单词,并且在另外一个文件中写上结果每个单词出现的次数,以及一共有多少个不重复的单词分别为哪些
注意:文件中可能包含特殊符号
step1:打开文件,可使用方法如下:
方法1:fp = open(file,'r',encoding ='utf-8')
方法2:with open(file,'r',encoding ='utf-8') as fp:
step2:读取文件,基于该题的需求,我们按行读取,并对每行进行处理如下:
1.读取每一行,将每一行中的特殊字符替换为空白
2.将替换后的字符加到一个content里面(content最终用来存储文件里面的所有被去掉特殊字符的单词结果)
step3:统计每个单词的出现次数:
1.统计结果使用字典存储格式如下{单词:出现次数}
2.出现次数为1的单词即为不重复的单词
step4:将每个单词的出现次数写到一个新的文件中
1.遍历step产生的字典,将key:value写入新的文件
代码如下:
def count_file_content(file_dir): result =''#存储所有被处理了特殊字符的文件内容 word_count_result={}#存储单词出现次数 import string with open(file_dir,'r',encoding ='utf-8') as fp: for line in fp: s = line.strip() for i in string.punctuation: s = s.replace(i,' ') result +=s #获取不包含特殊字符的文件内容 word_list = result.split() for item in word_list: # print(item) if item in word_count_result.keys(): word_count_result[item]+=1 else: word_count_result[item]=1 #获取每个单词出现次数 count =0 non_duplicateword=[] #统计不重复单词的个数 for k,w in word_count_result.items(): if w ==1: count+=1 non_duplicateword.append(k) #non_duplicateword存储的所有仅出现一次的单词,count 为仅出现一次的单词总数 with open(file_dir+'result.txt','w',encoding ='utf-8') as fp1: fp1.write('一共'+str(count)+'个不重复的单词\n') for k,w in word_count_result.items(): fp1.write(k+"单词出现"+str(w)+"次\n") #将结果写入另一个文件中
上一篇: 湖口之战中,清军失败的原因是什么?
下一篇: JSONHelper