如何使用PyEnchan自动更正文本并返回已更正的文本

2024-10-03 02:39:09 发布

您现在位置:Python中文网/ 问答频道 /正文

import enchant
import wx
from enchant.checker import SpellChecker
from enchant.checker.wxSpellCheckerDialog import wxSpellCheckerDialog
from enchant.checker.CmdLineChecker import CmdLineChecker

a = "Ceci est un text avec beuacuop d'ereurs et pas snychro"
chkr = enchant.checker.SpellChecker("fr_FR")
chkr.set_text(a)
cmdln = CmdLineChecker()
cmdln.set_checker(chkr)
b = cmdln.run()
c = chkr.get_text()  # returns corrected text
print c

如何让c返回正确的文本,而不从cmdlinechecker手动使用0?在

程序应该运行包含未更正文本的字符串,更正它,并将其保存在变量中以导出到MySQL数据库中。在


Tags: textfromimportcheckerenchantunestwx
3条回答
a = "Ceci est un text avec beuacuop d'ereurs et pas snychro"
chkr = enchant.checker.SpellChecker("fr_FR")
chkr.set_text(a)
for err in chkr:
    print err.word
    sug = err.suggest()[0]
    err.replace(sug)

c = chkr.get_text()#returns corrected text
print c

就像我想让它正常工作一样。添加过滤器和更正所有小文本自动使您能够执行关键字搜索等。。。在

我花了13小时才弄明白;(

就我而言,您在这里提供的自动化水平太冒险了,单词将包含专有名词,因此我对系统进行了更多检查。在

我将在以后的过程中附加对文件写入的更正。在

我想这会对其他人有帮助,因为文件对我来说还不够。。。在

for data_field in fields:
    checker.set_text(str(data_field))
    for err in checker:
        print err.word
        print err.suggest()
        correct = raw_input("provide 0-index int of correct word or i to ignore, e to edit ")
        if correct == 'i':
            pass
        elif correct == 'e':
            suggest = raw_input("")
            err.replace(suggest)
        else:
            correct = int(correct)
            suggest = err.suggest()[correct]
            err.replace(suggest)
    corrected_text.append(checker.get_text())

实际上,我不熟悉python和您所描述的库,但是更正文本的一般方法是使用字典方法。换句话说,就是检查一个单词是否包含在法语词典(或一个法语单词列表)中,如果是的话,这个单词是正确的,否则使用字典中的单词。在

相关问题 更多 >