给大家推荐一个查拼音和五笔编码的小工具,项目地址:
https://github.com/hyang0/wubi
使用方法:
$ python wubi.py 百家姓.txt
汉字: 赵钱孙李
拼音: zhao qian sun li
五笔: fhqi qgt biy sbf
汉字: 周吴郑王
拼音: zhou wu zheng wang
五笔: mfkd kgdu udbh gggg
将需要查询的汉字批量存入文件中,传参给 wubi.py 即可。txt 文件编码要求是 utf-8 编码。它的工作原理是查询编码字典,根据字典将编码打印出来。
86版五笔编码字典文件为项目下的 wubi86.dict
head wubi86.dict
工 aaa
匞 aad
式 aad
苷 aaf
芽 aah
戒 aak
苣 aan
戔 aar
荛 aat
芅 aau
数据源来自 rime-wubi 项目,只保留了单字,去除了词语和成语:
https://github.com/rime/rime-wubi
脚本代码为:
import argparse
from pypinyin import pinyin, Style
import platform
import os
import sys
def change_default_encoding():
'''判断是否在 windows git-bash 下运行,是则使用 utf-8 编码'''
if platform.system() == 'Windows':
terminal = os.environ.get('TERM')
if terminal and 'xterm' in terminal:
sys.stdout.reconfigure(encoding='utf-8')
def is_empty_line(line):
return line.isspace()
def load_wubi_dict(file_path):
wubi_dict = {}
with open(file_path, 'r', encoding='utf-8') as file:
for line in file:
char, wubi_code = line.strip().split(' ')
wubi_dict[char] = wubi_code
return wubi_dict
def get_pinyin(character):
pinyin_result = pinyin(character, style=Style.NORMAL)
pinyin_str = ''.join([item[0] for item in pinyin_result])
return pinyin_str
def get_wubi(character, wubi_dict):
wubi_str = wubi_dict.get(character)
if not wubi_str:
return character
return wubi_str
if __name__ == "__main__":
change_default_encoding()
parser = argparse.ArgumentParser(description="汉字拼音和五笔编码查询工具")
parser.add_argument("file_path", help="包含汉字的文件路径")
parser.add_argument("--wubi_file", default=r"wubi86.dict", help="五笔编码文件路径,默认为 wubi86.dict")
args = parser.parse_args()
wubi_dict = load_wubi_dict(args.wubi_file)
with open(args.file_path, 'r', encoding='utf-8') as file:
for line in file:
characters = line.strip()
if is_empty_line(line):
continue
py_list = []
wb_list = []
for char in characters:
pinyin_result = get_pinyin(char)
wubi_result = get_wubi(char, wubi_dict)
py_list.append(pinyin_result)
wb_list.append(wubi_result)
print("汉字:", characters)
print("拼音:", ' '.join(py_list))
print("五笔:", ' '.join(wb_list))
print()
全文完。
如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。
原文始发于微信公众号(生有可恋):查拼音和五笔编码的小工具
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论