天天看點

python将txt轉為字元串_Python 玩轉生僻字讀寫txt文本

茕茕孑立 沆瀣一氣

踽踽獨行 醍醐灌頂

綿綿瓜瓞 奉為圭臬

龍行龘龘 犄角旮旯

娉婷袅娜 涕泗滂沱

呶呶不休 不稂不莠

這首《生僻字》,考驗的是“國文”硬實力。倘若實力不夠,其實可以拿Python來湊,畢竟庫多!今天就來說一個有意思的pypinyin庫,名字很直白,是Python版的拼音庫,用來将漢字轉為拼音。

先來看下代碼運作效果,比較喜歡将結果print到指令行的樣式:

python将txt轉為字元串_Python 玩轉生僻字讀寫txt文本

當然,正規的操作是讀取漢字txt文本,生成注音版txt文本:

python将txt轉為字元串_Python 玩轉生僻字讀寫txt文本

思路

很簡單,拼音庫可以把漢字轉化為拼音,那我們要做的就是讀取文本,擷取拼音,最後将文本和拼音重新拼接。代碼也不難,基本圍繞字元串和清單進行拼接操作,比較适合新手朋友拿來練手。

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

代碼下載下傳

https://github.com/pengfexue2/addPinyin

最後再放個《離騷》文本的注音,先txt文本:

python将txt轉為字元串_Python 玩轉生僻字讀寫txt文本

以及偏愛的指令行格式:

python将txt轉為字元串_Python 玩轉生僻字讀寫txt文本
python将txt轉為字元串_Python 玩轉生僻字讀寫txt文本

程式員進階圈,一個有态度的公衆号