def processLine(line, CharacterCounts):
for character in line:
if ord(character) in range(97, 123):
CharacterCounts[character] += 1
#创建字母字典
def createCharacterCounts(CharacterCounts):
for i in range(97, 123):
CharacterCounts[chr(i)] = 0
def main():
#用户输入一个文件名
# filename = input("enter a filename:").strip()
filename = "123.txt"
infile = open(filename, "r")
#建立用于计算词频的空字典
CharacterCounts = {}
#初始化字典键值
createCharacterCounts(CharacterCounts)
for line in infile:
processLine(line.lower(), CharacterCounts)
#从字典中获取数据对
pairs = list(CharacterCounts.items())
#列表中的数据对交换位置,数据对排序
items = [[x,y] for (y,x) in pairs]
items.sort(reverse=True)
#输出count个数词频结果
for i in range(len(items)):
print(items[i][1]+"\t"+str(items[i][0]))
infile.close()
#调用main()函数
if __name__ == '__main__':
main()