Le comte de lettres dans un fichier texte

Je suis un débutant en python programmeur et je suis en train de faire un programme qui compte le nombre de lettres dans un fichier texte. Voici ce que j'ai obtenu jusqu'à présent:

import string 
text = open('text.txt')
letters = string.ascii_lowercase
for i in text:
  text_lower = i.lower()
  text_nospace = text_lower.replace(" ", "")
  text_nopunctuation = text_nospace.strip(string.punctuation)
  for a in letters:
    if a in text_nopunctuation:
      num = text_nopunctuation.count(a)
      print(a, num)

Si le fichier texte contient hello bob, je veux la sortie:

b 2
e 1
h 1
l 2
o 2

Mon problème est qu'il ne fonctionne pas correctement lorsque le fichier texte contient plus d'une ligne de texte ou a des signes de ponctuation.

OriginalL'auteur user2752551 | 2013-09-05