# -*- coding: utf-8 -*-
import collections
import os
import re
def countword(file):
try:
f = open(file,'r')
dic = collections.defaultdict(lambda: 0)
data = f.read()
data = data.lower()
data = re.sub(r'[\W\d]', ' ', data)
datalist = data.split()
for item in datalist:
if item not in datalist:
dic[item] = 1
dic[item] += 1
return dic
except:
print 'file open error!'
if __name__ == '__main__':
try:
file = "words.txt"
res = countword(file)
res = sorted(res.iteritems(), key=lambda x : x[1])
for item in res:
print item[0] + ":%d" % item[1]
except:
print 'run time error'