"Pyenchant商店的替代功能不起作用吗?"

2024-04-29 02:47:23 发布

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

我尝试了pyenchant中的所有函数,当我尝试store_replacement时,它对我不起作用,我不知道为什么。我的代码是:

d = enchant.Dict('en_us')
d.check('alllow')

Out[1]: False

^{pr2}$

Out[2]: ['allow',
'all low',
'all-low',
'wallop',
'allot',
'alloy',
'Willow',
'allele',
'allover']

d.store_replacement('alllow', 'alloy')`

d.suggest('alllow')`

Out[3]: ['allow',
'all low',
'all-low',
'wallop',
'allot',
'alloy',
'Willow',
'allele',
'allover']

根据pyenchant的文件:

^{4磅}$

正如你所见,它没有提出我的建议。建议列表完全相同。如果我试着做同样的事情,但是用了一个在建议列表中不存在的词,我会得到同样的结果。在

我不明白我做错了什么。 谢谢你的帮助。谢谢!在


Tags: storeallout建议lowallowalloyreplacement
1条回答
网友
1楼 · 发布于 2024-04-29 02:47:23

我的理解是store_替换需要由底层提供者实现。我猜你是在使用Myspell或其他没有实现它的提供者。如果将提供程序更改为实现它的Aspell,则可以看到它的工作方式如下: (请注意,您需要安装Aspell及其词典才能看到此功能)

import enchant
b = enchant.Broker()
b.set_ordering("en_US","aspell,myspell")
print b.describe()
d=b.request_dict("en_US")
print d.provider

s = 'alllow'
d.check(s)
print d.suggest(s)
d.store_replacement(s, 'alloy')
print d.suggest(s)

在我用不同的替代品运行了几次之后(以前是用“合金”、“空心”、“浅黄色”),最后在这次运行中,它输出:

^{pr2}$

相关问题 更多 >