我想用一个拼写/语法检查获得的粗糙的他们的近似和排名来处理,以大量的文字片段的媒体“质”。速度是不是真正关心的不是,所以我觉得最简单的方法是编写一个假冒的片段到Microsoft Word(2007年),并运行拼写和语法检查他们的脚本。

有没有办法从脚本(具体地,Python)的这样做呢?什么是学习编程控制字一个很好的资源?

如果不,我想我可以尝试从开源语法检查器(SO)

更新

在响应于Chris的答案,是有至少一种方式来一个)打开文件(包含片段(S)),B)运行从内部Word中的VBA脚本调用的拼写和语法检查器,以及c )返回代码段(一个或多个的“分数”的一些指示)?

更新2

我添加这似乎工作的一个答案,但如果任何人有其他建议,我会保持这个问题开了一段时间。

有帮助吗?

解决方案

它采取了一些挖掘,但我想我找到了一个有用的解决方案。在 http://www.nabble.com/以下的建议编辑一个单词的文档,编程,td19974320.html 我使用的是 win32com 模块(如果SourceForge的链路不工作,根据此堆栈溢出答案,您可以使用pip进入模块),它允许访问Word的COM对象。下面的代码说明了这一点很好地:

import win32com.client, os

wdDoNotSaveChanges = 0
path = os.path.abspath('snippet.txt')

snippet = 'Jon Skeet lieks ponies.  I can haz reputashunz?  '
snippet += 'This is a correct sentence.'
file = open(path, 'w')
file.write(snippet)
file.close()

app = win32com.client.gencache.EnsureDispatch('Word.Application')
doc = app.Documents.Open(path)
print "Grammar: %d" % (doc.GrammaticalErrors.Count,)
print "Spelling: %d" % (doc.SpellingErrors.Count,)

app.Quit(wdDoNotSaveChanges)

产生

Grammar: 2
Spelling: 3

,其从Word手动调用检查时的结果一致。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top