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

yipeiwu_com6年前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程序设计有所帮助。

相关文章

Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题

Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题

1 调试过程 用Python3.6+Sciter+PyCharm写了一个py测试脚本helloworld.py,该脚本中只含有一条语句“import sciter”。在PyCharm中运...

python linecache 处理固定格式文本数据的方法

小程序大功能 对一批报文要处理要处理里面的得分,发现python linecache ,特记录如下。 #!/usr/bin/env python # -*- coding: utf-...

Python 实现opencv所使用的图片格式与 base64 转换

将np图片(imread后的图片)转码为base64格式 def image_to_base64(image_np): image = cv2.imencode('.jpg',...

Anaconda下配置python+opencv+contribx的实例讲解

Anaconda下配置python+opencv+contribx的实例讲解

先吐槽一下opencv 3.1.0的版本cv2.sift和surf就不能用了 看解释是说 什么 "non-free",,必须要到opencv_contrib库中才有,而这个库的编译不是...

Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)

使用Python过程中,经常需要对文件和目录进行操作。所有file类/os/os.path/shutil模块时每个Python程序员必须学习的。 下面通过两段code来对其进行学习。 1...