Python-提取文件中所有中文小程序

问题描述:

   从一个txt文件中提取所有中文

思路:

  1. 打开txt文件
  2. 读取txt文件中的文本
  3. 用正则匹配获取中文
  4. 将其内容写入到另一个文本中

python实现:

代码
#coding=utf-8
import imp
import sys
imp.reload(sys)
sys.setdefaultencoding(
'utf-8') #设置默认编码,只能是utf-8,下面\u4e00-\u9fa5要求的
import re
pchinese
=re.compile('([\u4e00-\u9fa5]+)+?') #判断是否为中文的正则表达式
f=open("data.txt") #打开要提取的文件
fw=open("getdata.txt","w")#打开要写入的文件
for line in f.readlines(): #循环读取要读取文件的每一行
m=pchinese.findall(str(line)) #使用正则表达获取中文
if m:
str1
='|'.join(m)#同行的中文用竖杠区分
str2=str(str1)
fw.write(str2)
#写入文件
fw.write("\n")#不同行的要换行
f.close()
fw.close()
#打开的文件记得关闭哦!

 要点:

  1. 文件的读写 open(filename,type),file.close()
  2. 正则表达式使用

    re 模块是正则表达式Python实现。它有一个漂亮的函数findall(),接受一个正则表达式和一个字符串作为参数,然后找出字符串中出现该模式的所有地方。在这个例子里,模式匹配的是数字序列。findall()函数返回所有匹配该模式的子字符串的列表。

  3. 字符串拼接 '|'.join(strabc),在strabc字符串后面添加|。
posted @ 2010-11-30 16:48  心在天  阅读(2759)  评论(0编辑  收藏  举报