Word count from file help.
Paul McGuire
ptmcg at users.sourceforge.net
Thu Feb 12 11:15:35 EST 2004
"jester.dev" <jester.dev at comcast.net> wrote in message
news:oiAWb.9926$jk2.28236 at attbi_s53...
> Hello,
>
> I'm learning Python from Python Bible, and having some
> problems with this code below. When I run it, I get nothing. It
> should open the file poem.txt (which exists in the current
> directory) and count number of times any given word appears
> in the text.
>
Try this:
# wordCount.py
#
# invoke using: python wordCount.py <filename>
#
from pyparsing import Word, alphas
import sys
# modify this word definition as you wish - whitespace is implicit separator
wordSpec = Word(alphas)
if len(sys.argv) > 1:
infile = sys.argv[1]
wordDict = {}
filetext = "\n".join( file(infile).readlines() )
for wd,locstart,locend in wordSpec.scanString(filetext):
#~ curWord = string.lower(wd[0])
curWord = wd[0].lower()
if wordDict.has_key( curWord ):
wordDict[curWord] += 1
else:
wordDict[curWord] = 1
print "%s has %d different words." % ( infile, len(wordDict.keys()) )
keylist = wordDict.keys()
keylist.sort( lambda a,b:
( wordDict[b] - wordDict[a] ) or
( ( ( a > b ) and 1 ) or ( ( a < b ) and -1 ) or 0 ) )
for k in keylist:
print k, ":", wordDict[k]
More information about the Python-list
mailing list