2014-04-06 20 views
10

Vì vậy PyEnchant cho phép bạn xác định một danh sách từ cá nhân các từ viết đúng chính tả, thêm vào một từ điển ngôn ngữ:PyEnchant: block kiểm tra chính tả của văn bản với một danh sách từ cá nhân

d2 = enchant.DictWithPWL("en_US","mywords.txt") 

Tuy nhiên, kiểm tra kết quả d2 là lớp Dict, mà chỉ có thể được sử dụng để kiểm tra một từ duy nhất, ví dụ:

>>> d.check("Hello") 
True 

lớp SpellChecker cho phép kiểm tra chính tả của một khối văn bản. Tuy nhiên, tôi không thể tìm ra cách chỉ định danh sách từ cá nhân như với Dict. Đây có phải là tính năng không được hỗ trợ không? Tôi muốn kiểm tra chính tả một khối văn bản chống lại en_US cộng với danh sách từ cá nhân của tôi. Bất kỳ ý tưởng?

+0

Chính xác những gì làm bạn có nghĩa là * chỉ định một danh sách từ cá nhân *? –

+0

@ aj8uppal: có nghĩa là tệp 'mywords.txt' chứa một danh sách các từ mà tôi muốn kiểm tra chính tả. Thông tin thêm tại đây: http://pythonhosted.org/pyenchant/tutorial.html#personal-word-lists – mart1n

Trả lời

16

Đối số đầu tiên của initializer kiểm tra chính tả có thể được cả tên của một ngôn ngữ hay một cuốn từ điển enchant:

from enchant import DictWithPWL 
from enchant.checker import SpellChecker 

my_dict = DictWithPWL("en_US", "mywords.txt") 
my_checker = SpellChecker(my_dict) 

my_checker.set_text("This is sme sample txt with erors.") 
for error in my_checker: 
    print "ERROR:", error.word 

Các tài liệu không rõ ràng về vấn đề này, nhưng the code is available :)

+1

Awesomeness, cảm ơn bạn! – mart1n

Các vấn đề liên quan