python将txt转为字符串_Python 玩转生僻字
茕茕孑立 沆瀣一气
踽踽独行 醍醐灌顶
绵绵瓜瓞 奉为圭臬
龙行龘龘 犄角旮旯
娉婷袅娜 涕泗滂沱
呶呶不休 不稂不莠
这首《生僻字》,考验的是“语文”硬实力。倘若实力不够,其实可以拿Python来凑,毕竟库多!今天就来说一个有意思的pypinyin库,名字很直白,是Python版的拼音库,用来将汉字转为拼音。
先来看下代码运行效果,比较喜欢将结果print到命令行的样式:
当然,正规的操作是读取汉字txt文本,生成注音版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 玩转生僻字相关推荐
- python将txt转为字符串_Python玩转《生僻字》
茕茕孑立 沆瀣一气 踽踽独行 醍醐灌顶 绵绵瓜瓞 奉为圭臬 龙行龘龘 犄角旮旯 娉婷袅娜 涕泗滂沱 呶呶不休 不稂不莠 这首<生僻字>,考验的是"语文"硬实力.倘若实力 ...
- python将txt转为字符串_python做第一只小爬虫
"受尽苦难而不厌,此乃修罗之路" 本文技术含量过低,请谨慎观看 之前用R语言的Rcurl包做过爬虫,给自己的第一感觉是比较费劲,看着看着发际线就愈加亮眼,最后果断丢之.不过好的是和 ...
- python按年月日输出字符串_python日期时间转为字符串或者格式化输出的实例
python日期时间转为字符串或者格式化输出的实例 如下所示: 年月日时分秒 >>> print datetime.datetime.now().strftime("%Y- ...
- python读取路径中字符串_python实现提取str字符串/json中多级目录下的某个值
字符串多级目录取值: 比如说: 你response接收到的数据是这样的. 你现在只需要取到itemstring 这个字段下的值.其他的都不要! 思路就是:字符串是个json格式(或转为json格式), ...
- python处理多行字符串_python多行字符串
Python中如何处理长代码格式化问题,如何提高格式化输出的长字符串的可读性? 当我们需要格式化输出一个很长的字符串的时候,都写在一行显得很难看,而且可读性也很差:当我们使用链式的语法写代码的时候常常 ...
- python用户输入一行字符串_python字符串练习
1. 输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7-位上的字符) 例如: 输入'abcd1234 ' ** 输出'bd24'** str1 = input('请输入:') for it ...
- python替换txt指定内容_python 实现类似sed命令的文件内容替换
#!/usr/bin/env python #_*_coding:utf-8 _*_ #replace()方法把字符串中的 old(旧字符串)替换成new(新字符串),如果指定第三个参数max,则替换 ...
- python 只取年月日 字符串_Python基础:数据类型和变量amp;字符串和编码
Python基础:1.数据类型和变量 数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网 ...
- python的txt导入数据库_python将txt文档每行内容循环插入数据库的方法
如下所示: import pymysql import time import re def get_raw_label(rece): re1 = r'"([\s\S]*?)": ...
最新文章
- boost log 能不能循环覆盖_前端基础进阶(十四):深入核心,详解事件循环机制...
- 关于Less的学习笔记
- Matlab中plot函数全功能解析
- C#正则表达式引发的CPU跑高问题以及解决方法
- 停课集训 11.29
- 【公开课】“有三说深度学习”上线
- 文字打印机 效果实现
- 将MATLAB中的图像信息用到Vivado中
- 【渝粤教育】电大中专电商运营实操 (16)作业 题库
- 好看好用的字体软件-字体下载大全提供下载
- 《Linux/UNIX系统编程手册(上、下册)》
- Android技术知识点:如何添加字体资源
- Google谷歌的未来 野心:2017 Google I/O 大会 全程回顾
- vs2019找不着工具箱了_解决vs2010中工具箱的不见问题
- android room 分页,Android官方ORM数据库Room技术解决方案简介(一)
- 皮卡丘0.1.5V.GPC无敌版
- MIT.6.00.1X --Week 3 Lecture 5 -- 'Divid and conqer' algorithm 分而治之
- 来看一个费解而有趣的c++现象
- 基于树莓派和LD3320模块的语音识别控制
- 海外游戏代投需要注意的