Counting word frequency in a text with Python

From Media Design: Networked & Lens-Based wiki
Jump to navigation Jump to search
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]