Python玩转《生僻字》

640?wx_fmt=png

2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑


来源|TEDxPY(ID:TEDxPY

茕茕孑立 沆瀣一气

踽踽独行 醍醐灌顶

绵绵瓜瓞 奉为圭臬

龙行龘龘 犄角旮旯

娉婷袅娜 涕泗滂沱

呶呶不休 不稂不莠

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


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


640?wx_fmt=png


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


640?wx_fmt=png


思路


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


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 = content
result = 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文本生成注音版本。


代码下载


Github代码下载:

https://github.com/pengfexue2/addPinyin.git


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


640?wx_fmt=png


以及偏爱的命令行格式:


640?wx_fmt=png


精彩推荐

「2019 Python开发者日」全日程揭晓这一次我们依然“只讲技术,拒绝空谈”10余位一线Python技术专家共同打造一场硬核技术大会。更有深度培训实操环节,为开发者们带来更多深度实战机会。更多详细信息请咨询13581782348(微信同号)。


640?wx_fmt=jpeg


你也可以点击阅读原文查看大会详情。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值