python的API中,提到了Counter,它具有统计的功能

下面是我做的demo:

1.统计自定义字符串中每个字符出现的次数

2.读取一个文件,把文件中的内容转化为字符串,统计该字符串中每个字符串出现的次数

运行效果:

测试的文件:

==================================

代码部分:

==================================

 #python counter object

 from collections import *
import os def get_counter():
'''get the Counter object'''
return Counter() def str_to_list(s):
'''
a string covert to list,
return an empty list if the string equal None
'''
if s != None:
return [x for x in s]
else:
return [] def counter(c, l):
'''统计列表l中每个单词的出现次数,最后返回一个Counter对象'''
for word in l:
c[word] += 1
return c def get_file_str(path):
'''打开指定的文件,并且把文件中的内容以字符串的形式返回'''
if os.path.exists(path):
temp_str = ''
with open(path, 'r') as pf:
for line in pf:
temp_str += line
return temp_str
else:
print('the file [{}] is not exist!'.format(path)) def test_str():
#使用自定义字符串测试
#统计自定义字符串中每个字符出现的次数
cnt = get_counter()
temp_str = 'hello,i\'m Hongten,welcome to my space!'
temp_list = str_to_list(temp_str)
cnt = counter(cnt, temp_list)
print(cnt) def test_file():
'''
读取一个文件,把文件中的内容转化为字符串
统计该字符串中每个字符串出现的次数
'''
cnt = get_counter()
temp_path = 'c:\\temp.txt'
temp_str = get_file_str(temp_path)
temp_list = str_to_list(temp_str)
cnt = counter(cnt, temp_list)
print(cnt) def main():
test_str()
print('#' * 50)
test_file() if __name__ == '__main__':
main()

最新文章

  1. "产品测试管理&敏捷项目管理"研讨会在深圳成功举办!
  2. 华为OJ—火车进站(栈,字典排序)
  3. 62.在cdc文件上某些例化模块看不到的原因
  4. EasyUI datagrid自适应问题解决
  5. itext poi 学习之旅 (2)创建excel
  6. Ubuntu Server 14.04在VMware安装的一些事儿
  7. DataInputStream(二进制输入流)和DataOutputStream二进制输出流(注意:in是从本地文件输入到程序中,out是从程序输出到本地种)
  8. Modbus通信协议详解
  9. Django 信号、中间件、i18n 专题
  10. [转]ubuntu中查找软件的安装位置
  11. 『转』android官网翻译好的蓝牙API接口说明
  12. AS2在FLASH中调用EXE文件方法详细说明 已测试可行
  13. redis实现区间查询
  14. 1016 Phone Bills (25)(25 point(s))
  15. Unity-DLL反编译学习
  16. 2017-2018-1 信息安全技术 实验二 20155201——Windows口令破解
  17. 一、linux搭建jenkins+github详细步骤
  18. HDU 5326(2015多校3)-Work(dfs)
  19. 动态往 datagridview 追加行、列操作
  20. pat00-自测3. 数组元素循环右移问题 (20)

热门文章

  1. arch安装完成之后不能使用笔记本自带的无线网卡
  2. RTM,RTW,GA等软件版本号详解
  3. rabbitmq集群搭建方法简介(测试机linux centos)【转】
  4. 20165301 2017-2018-2 《Java程序设计》第三周学习总结
  5. First Missing Positive——数学类
  6. Reverse Nodes in k-Group——简单的指针问题
  7. 洛谷 P2369 EXCEEDED WARNING A 题解
  8. 完全禁用Wordpress的升级功能
  9. 木块问题(UVa101)
  10. Selenium--testNG下载地址