茕茕孑立 沆瀣一气

踽踽独行 醍醐灌顶

绵绵瓜瓞 奉为圭臬

龙行龘龘 犄角旮旯

娉婷袅娜 涕泗滂沱

呶呶不休 不稂不莠


这首《生僻字》,考验的是“语文”硬实力。倘若实力不够,其实可以拿Python来凑,毕竟库多!今天就来说一个有意思的pypinyin库,名字很直白,是Python版的拼音库,用来将汉字转为拼音。


先来看下代码运行效果,比较喜欢将结果print到命令行的样式:


python错别字纠正 python 错别字_字符串


当然,正规的操作是读取汉字txt文本,生成注音版txt文本:


python错别字纠正 python 错别字_剪贴板_02


思路


很简单,拼音库可以把汉字转化为拼音,那我们要做的就是读取文本,获取拼音,最后将文本和拼音重新拼接。代码也不难,基本围绕字符串和列表进行拼接操作,比较适合新手朋友拿来练手。


pypinyin库


首先是安装:pip install pypinyin


装好后引入模块:from pypinyin import pinyin 


调用 pinyin(“生僻字”) 即可得到拼音列表 [[‘shēng’], [‘pì’], [‘zì’]]


读写txt文本


算是读写txt文件的简单应用:

txt_name = "生僻字"
with open("%s.txt"%txt_name,encoding="UTF-8-sig") as f:
    content = f.read()
    input_str = contentresult = transfer(input_str)#对读取到的txt进行注音操作

with open("%s_拼音.txt"%txt_name,'w',encoding='UTF-8-sig') as m:
    m.write(result)

拼接


首先会对读入的文本进行整理,去除多余的空格,将字符串中的汉字与列表中的拼音一一对应并拼接。


由于中文字符是占两个字节,以及读写txt时也会涉及到编码格式,这部分的代码费了些功夫,只能说勉强做到格式整齐吧。


回顾


最初接触一个读取剪贴板内容的pyperclip模块,琢磨对剪贴板中字符串如何操作。恰巧听到《生僻字》,觉得既然逐字查拼音是个麻烦事,何不通过Python来批量添加拼音呢?很幸运,还真有大佬写了这个pypinyin库,在Github上也已有1500多颗星了~

昨天完成的小代码,是对剪贴板中复制的内容添加拼音,感觉实用性不强且操作不方便,故今天修改为读取txt文本生成注音版本。


代码下载


后台回复 拼音 获取下载链接


最后再放个《离骚》文本的注音,先txt文本:


python错别字纠正 python 错别字_字符串_03


以及偏爱的命令行格式:


python错别字纠正 python 错别字_python错别字纠正_04