20190221-文件操作
2019-02-25 16:14:16来源:博客园 阅读 ()
假定一个全英文的文件,读取该文件,请统计多少个不重复的单词,并且在另外一个文件中写上结果每个单词出现的次数,以及一共有多少个不重复的单词分别为哪些
注意:文件中可能包含特殊符号
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")
#将结果写入另一个文件中
原文链接:https://www.cnblogs.com/hyj691001/p/10415427.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:#3 Python面向对象(二)
- PythonDay08 2019-08-13
- python 之 前端开发(form标签、单选框、多选框、file上传文 2019-08-13
- 把Python项目打包成exe文件 2019-08-13
- pycharm 新建py文件写时有作者和时间 2019-08-13
- 列表和元组 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash