初识python 之 自动拆分转换文本内容
上一篇升级版,转换文件内容。


- #!/user/bin env python
- # author:Simple-Sir
- # time:2021/7/9 23:32
- def txt_2_list(filename):
- dic = {}
- dic_k = []
- dic_v = []
- with open(filename,'r',encoding='utf-8') as f:
- for i in f.readlines():
- j = i.strip('\n') # 删除换行符
- li_k = j.split(',') # 以逗号分隔为列表
- if len(li_k) == 2:
- dic[li_k[0]] = li_k[1]
- dic_k.append(li_k[0])
- dic_v.append(li_k[1])
- else:
- dic_k.append(li_k[0])
- return dic,dic_k,dic_v
- def get_word_in_list(info,dic_k):
- word_li = []
- while len(info) > 0:
- m = 0
- n = 0
- for i in range(len(info)+1):
- if info[:i] in dic_k:
- word_li.append(info[:i])
- info = info[i:]
- n = 1
- m = i
- if n == 0:
- word_li.append(info[0:1])
- info = info[m+1:]
- return word_li
- def translat_word(word_li,dic,dic_k):
- get_v = []
- for i in word_li:
- if i in dic_k:
- get_v.append(dic[i])
- else:
- get_v.append(i)
- re_w = ('_').join(get_v)
- return re_w
- if __name__ == '__main__':
- dict_file = 'dir'
- info_file = 'infofile'
- info_k=txt_2_list(info_file)[1]
- print('----------- 要转换的内容 ----------\n ',('\n ').join(info_k))
- print('----------- 转换结果 ------------')
- for info in info_k:
- dic,dic_k,dic_v = txt_2_list(dict_file)
- word_li = get_word_in_list(info, dic_k)
- tw = translat_word(word_li,dic,dic_k)
- print('%s -->> %s'%(info,tw))
自动拆分并转换文件内容
字典库:
- 剪刀,jiandao
- 被子,beizi
- 笔,bi
- 我,wo
- 要,yao
要转换的文件内容:
- 我要剪刀
- 我不要剪刀
- 我要剪刀和笔
- 我要被子和剪刀
转换结果:
初识python 之 自动拆分转换文本内容的更多相关文章
- python读取、写入txt文本内容
转载:https://blog.csdn.net/qq_37828488/article/details/100024924 python常用的读取文件函数有三种read().readline().r ...
- 初识python: 字符编码转换
指定当前文件编码格式:#-*- coding:utf-8 -*-unicode(万国码): 英文字母 1个字节,中文3个字节python中所有的字符都是unicode编码所有非unicode编码互转都 ...
- 对于pycharm和vscode下,从外部复制文本内容为python字符串内容是会自动加\u202a解决办法
先来看下这个python3源代码,表面上看没有语法毛病,如果源代码字符串内容是手动复制过来的文本内容,在pycharm和vscode下始终提示: pywintypes.error: (2, 'Shel ...
- Python: 转换文本编码
最近在做周报的时候,需要把csv文本中的数据提取出来制作表格后生产图表. 在获取csv文本内容的时候,基本上都是用with open(filename, encoding ='UTF-8') as f ...
- 利用Python imaplib和email模块 读取邮件文本内容及附件内容
python使用imap接收邮件的过程探索 https://www.cnblogs.com/yhlx/archive/2013/03/22/2975817.html #! encoding:utf8 ...
- Cleave.js – 自动格式化表单输入框的文本内容
Cleave.js 有一个简单的目的:帮助你自动格式输入的文本内容. 这个想法是提供一个简单的方法来格式化您的输入数据以增加输入字段的可读性.通过使用这个库,您不需要编写任何正则表达式来控制输入文本的 ...
- 转换 Html 内容为纯文本内容(html,文本互转)
转自http://www.cnblogs.com/jyshi/archive/2011/08/09/2132762.html : /// <summary> /// 转换纯文本内容为 HT ...
- css为超过一定宽度的文本内容自动加上省略号
当在html中某个地方添加文本内容的时候如果内容过长我们会希望他超过一定宽度之后,其余的可以被截断,后面补充为省略号: 实现方式: 1.设置css样式为文本不换行: 2.位包裹文本的标签指定宽度: 3 ...
- jq选择器(jq 与 js 互相转换),jq操作css样式 / 文本内容, jq操作类名,jq操作全局属性,jq获取盒子信息,jq获取位置信息
jq选择器(jq 与 js 互相转换) // 获取所有的页面元素jq对象 $('css3选择器语法'); var $box = $(".box:nth-child(1)"); 获取 ...
随机推荐
- Redis缓存穿透、缓存击穿以及缓存雪崩
作为一个内存数据库,redis也总是免不了有各种各样的问题,这篇文章主要是针对其中三个问题进行讲解:缓存穿透.缓存击穿和缓存雪崩.并给出一些解决方案.这三个问题是基本问题也是面试常问问题. 这篇文章我 ...
- Spring Cloud 和dubbo
一.SpringCloud微服务技术简介 Spring Cloud 作为Java 语言的微服务框架,它依赖于Spring Boot,有快速开发.持续交付和容易部署等特点.Spring Cloud 的组 ...
- Mybatis通用Mapper介绍和使用
Mybatis通用Mapper介绍与使用 前言 使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQL. ...
- jQuery中的html()、text()和val()的用法
1.html() 获得的是第一个符合要求的标签中的所有内容,例如: var content = $("li").html(); <li>111<p>999& ...
- Python初探——sklearn库中数据预处理函数fit_transform()和transform()的区别
敲<Python机器学习及实践>上的code的时候,对于数据预处理中涉及到的fit_transform()函数和transform()函数之间的区别很模糊,查阅了很多资料,这里整理一下: ...
- Python把两个列表索引相同的值相加
方案一 list1=[1,2,3,4,5] list2=[6,7,8,9,10] list3=[] list3=[i + j for i, j in zip(list1, list2)] print( ...
- MySQL信息系统函数
- mysql优化大全(转自别人 )
文章出处:https://blog.csdn.net/weixin_38112233/article/details/79054661 数据库优化 sql语句优化 索引优化 加缓存 读写分离 分区 分 ...
- 20个ios登陆界面
原文:http://favbulous.com/post/1001/24-unique-ios-login-screen-showcase Eeve Evernote Food Recood Hips ...
- Android工具-DDMS
原创文章,如有转载,请注明出处:http://blog.csdn.net/yihui823/article/details/6686578 本文章的前提:已经安装了Eclipse和ADT.androi ...