Counting word frequency in a text with Python

From XPUB & Lens-Based wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
import string

wd = {}

# for every line, every word in line, add it to the dictionary
for line in open("text.txt"):
  for word in line.split():
    word = word.strip(string.punctuation).lower()
    # wd[word] = True
    wd[word] = wd.get(word, 0) + 1 # for word counting

# get the dictionary keys, and alphabetize
allwords = wd.keys()
allwords.sort()
for word in allwords:
  # print w
  print word, wd[word]