各大门户网站有哪些,手机设计画图软件,做网站 想做成宽屏的,球场 技术支持 东莞网站建设由于需要使用一个纯单词组成的文件#xff0c;在网上下载到了一个存放单词的文件#xff0c;但是里面有中文的解释#xff0c;那就需要做一下提取了。
文本的形式如下#xff1a;所见即所得#xff0c;这个文本是有规律的#xff0c;每个单词为一行#xff0c;紧接着下一…由于需要使用一个纯单词组成的文件在网上下载到了一个存放单词的文件但是里面有中文的解释那就需要做一下提取了。
文本的形式如下所见即所得这个文本是有规律的每个单词为一行紧接着下一行便是单词的解释有了这种规律我们就很好处理了。
首先我们来将文件的数据读取出来
#coding:utf-8
file_object open(words.txt)
try:
lines file_object.readlines()
finally:
file_object.close( )
for line in lines:
print line 代码执行的结果为显然这不是我们想要的结果因为这里面有太多的空行了现在最主要的就是要处理掉这些妨碍我们的空行对于中文的乱码呢我们是不需要中文的解释的所以它是无妨碍的如果想看得舒服些那么我们就转码一下就好了。现在最主要的就是要知道为什么会出现这么多的空行因为我们的文件是已将看过了显然是这些空行的出现是有点“匪夷所思”的这也是由于python读文件的机制导致的下面我们修改下代码来看看原因
#coding:utf-8
file_object open(words.txt)
try:
lines file_object.readlines()
finally:
file_object.close( )
print lines 在这里我们直接输出lines得到如下的结果我们随意拿出这句runlet\n, n.\xcd\xb0,\xd0\xa1\xba\xd3\n, \n, runnel\n, n.\xd0\xa1\xba\xd3,\xcf\xb8\xc1\xf7\n, \n,从中可以看出对于每行的文件在读取的时候换行符“\n”也是会被读取在单词和对应的解释的后面的所以这也就是为什么会有那么多空行的原因了这显然不是我们想要看见的下面我们处理一下让这些多余的空行失去效果
#coding:utf-8
file_object open(words.txt)
try:
lines file_object.readlines()
finally:
file_object.close( )
for line in lines:
if line!\n:
print line.decode(gb2312,ignore), #逗号得带着因为文件自身带了换行可以代替pirnt的换行 程序执行后得到如下的结果好了这下就是我们想看到的东西了那么现在我们可以将这些输出写入 到新的文件里了然后就可以得到我们想要的单词文本了。
#coding:utf-8
file_object open(words.txt)
try:
lines file_object.readlines()
finally:
file_object.close( )
myfileopen(newfile.txt,w)
num0
for word in lines:
if word!\n:
num1
if num%2: #只有奇数行为单词
myfile.write(word) 运行程序便可以得到新的单词文件了最终提取了45000多个单词文件如下所示很显然满足我们最终想要实现的要求那么可以收工了。
最后附上两个文件的链接http://pan.baidu.com/s/1cMvmbG。