Python实现统计文本文件字数的方法

yipeiwu_com7年前Python基础

本文实例讲述了Python实现统计文本文件字数的方法。分享给大家供大家参考,具体如下:

统计文本文件的字数,从当前目录下的file.txt取文件

# -*- coding: GBK -*-
import string
import sys
reload(sys)
def compareItems((w1,c1), (w2,c2)):
  if c1 > c2:
    return - 1
  elif c1 == c2:
    return cmp(w1, w2)
  else:
    return 1
def main():
  fname = "file.txt"
  try:
    text = open(fname,'r').read()
    text = string.lower(text)
  except:
    print "\nfile.txt is not exist!!! or There is a R/W error! "
    sys.exit()
  for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~':
    text = string.replace(text, ch, ' ')
  words = string.split(text)
  counts = {}
  for w in words:
    counts[w] = counts.get(w,0) + 1
  n = input("\n输入要统计的top单词数:")
  items = counts.items()
  items.sort(compareItems)
  max = len(items)
  print "\n单词总计:" + str(len(words))
  print "单词净个数(已去重):" + str(max)
  print "\n"
  if n > max:
    n = max
  for i in range(n):
    print "%-10s%5d" % items[i]
if __name__ == '__main__':
  main()

PS:这里再为大家推荐2款非常方便的统计工具供大家参考使用:

在线字数统计工具:
http://tools.jb51.net/code/zishutongji

在线字符统计与编辑工具:
http://tools.jb51.net/code/char_tongji

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

相关文章

python实现Dijkstra静态寻路算法

python实现Dijkstra静态寻路算法

算法介绍 迪科斯彻算法使用了广度优先搜索解决赋权有向图或者无向图的单源最短路径问题,算法最终得到一个最短路径树。该算法常用于路由算法或者作为其他图算法的一个子模块。 当然目前也有人将它用...

人生苦短我用python python如何快速入门?

假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程。那么本教程将花费十分钟的时间带你走入Python的大门。本文的内容介于教程(Toturial)和速查手册(Che...

Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析

Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析

本文实例讲述了Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法。分享给大家供大家参考,具体如下: 1、shelve...

Python实现屏幕截图的代码及函数详解

废话不多说,先给大家看下python实现屏幕截图的代码,具体代码如下所述: from selenium import webdriver import time def captur...

Python实现的摇骰子猜大小功能小游戏示例

Python实现的摇骰子猜大小功能小游戏示例

本文实例讲述了Python实现的摇骰子猜大小功能小游戏。分享给大家供大家参考,具体如下: 最近学习Python的随机数,逻辑判断,循环的用法,就想找一些练习题,比如小游戏猜大小,程序思路...