Регулярные выражения полезны, если вы хотите найти сложные шаблоны в строке.Поскольку вы хотите считать (а не находить) простые (просто отдельные буквенные символы) «шаблоны», регулярные выражения здесь не являются инструментом выбора.
Если я правильно понимаю, что вы пытаетесь, наиболее прозрачнымЧтобы решить эту проблему, нужно выполнить итерацию по всем строкам и выполнить итерацию по всем символам в этой строке, и, если этот символ является алфавитным, добавьте 1 к соответствующей записи словаря.В коде:
filename=raw_input()
found = {}
with open(filename) as file:
for line in file:
for character in line:
if character in "abcdefghijklmnopqrstuvxyz":
# Checking `in (explicit string)` is not quick, but transparent.
# You can use something like `character.isalpha()` if you want it to
# automatically depend on your locale.
found[character] = found.get(character, 0)+1
# If there is no dictionary entry for character yet, assume default 0
# If you need e.g. small and capital letters counted together,
# "Normalize" them to one particular type, for example using
# found[character.upper()] = found.get(character, 0)+1
После того, как этот цикл пройдет через файл, словарь found
будет содержать количество вхождений для каждого символа.