百度五笔98版词库
02 Sep 2018百度五笔在安卓,苹果上都有98版五笔输入的选项。但是可能是因为王码持有版权,所以Windows上的百度五笔并不支持98版五笔。我非常支持正版产品,本人也购买了王码公司的正版产品。但是无奈王码的产品实在是令人失望,购买的产品只能在3台电脑上注册,抛开这点限制不说,其产品的兼容性非常的差,在Windows 10上使用经常会导致崩溃,并且标点符号也不支持中英自动切换。在更换了3台设备之后,我实在不想再购买王码公司的产品。因此我开始寻找王码五笔的替代方案。
很幸运的是,我在百度贴吧上找到了合适的98版五笔的词库(感谢maplecee提供的资源)。可以将这个词库转化为百度五笔的自定义词库再导入,实现百度五笔在Windows上对98版五笔的支持。实现转换的代码如下:
import codecs
import re
with codecs.open('wubi98.txt', 'r', 'utf8') as infile:
lines = infile.readlines()
dict = {}
for line in lines:
line = re.sub('\s{1,}', ' ', line)
line = line.strip(' ')
if len(line) == 0:
continue
lineList = line.split(' ')
assert len(lineList) > 1
if lineList[0] not in dict:
dict[lineList[0]] = []
targetList = dict[lineList[0]]
for word in lineList[1:]:
if word not in targetList:
targetList.append(word)
output = ''
for key, val in dict.items():
char = []
word = []
for item in val:
if len(item) > 1:
word.append(item)
else:
char.append(item)
wordSortKey = lambda s : len(s)
itemSortKey = lambda c : ord(c)
#char.sort(key = wordSortKey)
word.sort(key = wordSortKey)
allOut = char + word
allOut.reverse()
for item in allOut:
output += '{}\t{}\n'.format(key, item)
with codecs.open('result.txt', 'w', 'utf8') as outfile:
outfile.write(output)
最终输出的文件如下所示。
注:本词库仅为算法设计所生成的附带产品,仅供学习及研究使用。若对版权有任何侵犯,请与我联系。我将立即删除。