我在使用 Python 工作时遇到了一些问题。我必须编写一段通过 CMD 运行的代码。我需要它然后打开用户声明的文件并计算它包含的每个字母字符的数量。
到目前为止,我有这个,我可以通过 CDM 运行它,并声明一个要打开的文件。我弄乱了正则表达式,仍然无法弄清楚如何计算单个字符。有任何想法吗?对不起,如果我解释得不好。
import sys
import re
filename = raw_input()
count = 0
datafile=open(filename, 'r')
最佳答案
我会远离正则表达式。他们会很慢而且很丑。相反,将整个文件读入一个字符串,并使用内置的字符串方法 count
来计算字符数。
为您整理一下:
filename = raw_input()
datafile=open(filename, 'r')
data = datafile.read()
datafile.close() # Don't forget to close the file!
counts = {} # make sure counts is an empty dictionary
data = data.lower() # convert data to lowercase
for k in range(97, 123): # letters a to z are ASCII codes 97 to 122
character = chr(k) # get the ASCII character from the number
counts[character] = data.count(character)
然后,您有一个包含所有计数的字典
counts
。例如, counts['a']
为您提供文件中 a
的数量。或者,对于整个计数列表,请执行 counts.items()
。关于Python 正则表达式和 CMD,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9845354/