英文短文自动分词写入文本文件制作单词本适合导入“知米背单词”
共 1447字,需浏览 3分钟
·
2024-03-20 14:30
实例描述
我们在刷英语单词的时候,时常会使用一些 App ,如“百词斩”、“开心词场”、“新东方”等,但是大多没有自定义单词本,无意间发现“知米背单词”可以自定义单词本。那么对于大段文章中的单词(如图 1 所示),我们将通过 Python 实现自动分词并去掉特殊符号、空格、空行、数字和重复单词等不符合规范的内容,然后形成单词本格式,如图 2 所示。
制作成功的单词本就可以导入到“知米背单词” App 中了,效果如图 3 所示,之后就可以轻松背诵自己定制的单词了。
图 3 知米背单词
技术要点
本实例主要使用了字符串处理函数和 string 字符串模块。首先对字符串进行分割 , 然后去重、去特殊符号、去空格和数字等。
代码实现
实现英文短文自动分词写入文本文件文件 , 具体代码实现如下 :
( 1 ) 导入模块 , 代码如下。
import string
( 2 ) 打开英文短文进行字符串去重 , 去掉特殊符 号、数字、空格空行等, 代码如下。
f = open ( './data/split.txt' )
s=f.read()
str1=s.title()
print (str1)
print ( "" .join([s for s in str1.splitlines( True ) if s.strip()]))
list1 = str1.split() # 采用默认分隔符进行分割
# 字符串列表去重
l1= list ( set (list1))
l1.sort( key =list1.index)
for i in l1:
# 去掉特殊符号
i1=i.translate( str .maketrans( '' , '' , string.punctuation))
i2=i1.strip( ' \t\n\r' ) # 去除字符串中头尾的空格
#print(i1.strip(' \t\n\r')) # 去除字符串中头尾的空格
if not i2.isnumeric(): # 滤除数字
i3=i2
f1 = open ( './data/ 单词本 .txt' , 'a' )
f1.write( '\n' +i3)