grammar & spell check
Alex Martelli
aleaxit at yahoo.com
Fri Dec 22 06:24:57 EST 2000
"Satheesh Babu" <vsbabu at erols.com> wrote in message
news:91u20g$pl3$1 at bob.news.rcn.net...
> Hi,
>
> Is there any suggestions on what services/software I can use
> to do grammar/spell check? for English language.
>
> requirements:
> 1. given a text string, it should do the checks and return
> errors/suggestions report
> 2. Should be able to interface from Python
> 3. Preferably should work from Win32 systems
> (that gives an idea, can't I use MS Word's functions for this?)
Of course, if you can count on Word being present on
your target machine; Python, with win32all (already
present in the ActiveState distribution), is an excellent
COM client.
For example, here's a spell-check program in Python:
import win32com.client
msword = win32com.client.Dispatch("Word.Application")
string = "Here is some texxt with a coupple of problems"
for word in string.split():
if msword.CheckSpelling(word):
print "!%s! OK!" % word
else:
print "?%s? ->"%word,
suggestions = msword.GetSpellingSuggestions(word)
for suggest in suggestions:
print suggest.Name,
print
D:\PySym>python spel.py
!Here! OK!
!is! OK!
!some! OK!
?texxt? -> text texts
!with! OK!
!a! OK!
?coupple? -> couple couplet coupler coupled couples
!of! OK!
!problems! OK!
D:\PySym>
You'll need Word's online docs for VBA to learn all the
details about spell-checking and grammar-checking.
For a cross-platform and free solution, I would expect
you could wring something similar out of StarOffice 5.2,
but unfortunately I wouldn't know where to start to
get cross-platform interfacing of Python with SO 5.2
(on Windows, specifically, they probably expose some
COM object model -- but that wouldn't help your programs
run under, say, Linux). Has anybody managed to drive
StarOffice from Python cross-platformly, btw...?
Alex
More information about the Python-list
mailing list