最近在学Python中文件的调用,结合所学的文件调用的函数,写了一个简单的程序,学习中,勿嫌弃,欢迎交流
功能:实现统计文本中的字母个数
模块:re,需要调用re模块中的findall函数
函数:
chr(i)是为了转化为字符串a-z
findall:匹配字符串
思路:第一,读取文件,将文件中的字符串读出赋予字符串变量s中
第二,设置两个循环,第一个for循环是为了实现对26个字母的遍历,第二个for循环是为了实现对字符串变量s的遍历。对于每个字母,对s进行遍历,若有该字母存在,则计数累加。
第三,输出结果。
代码:
#!usr/bin/python
#filename:statictxt.py
import re
f1=open("C://Users//statictxt//statictxt.txt")#之前复制路径时出现直接输入C:/。。。结果报错,这里需要注意一下为了区别转义字符,所以需要改为//,或者用r""
s=f1.readlines() #s为字符串列表
f1.seek(0,0) #将文件的指针移至开头
f1.close()
for i in range(97,123): #i是整数,对应每个字母的ascal码
count=0
for y in s: #y是字符串列表中的每一项
l=re.findall(chr(i),y) #利用findall函数,可以实现字符串的匹配,该语句可得到字符串列表中每一项字符串与字母chr(i)匹配的项目
count+=len(l)
print(chr(i),':%d'%count)
结果截图:
左侧是运行结果,右侧是待统计的文本。