代码如下:
#encoding=utf-8
print '中国'
#处理文件中的每个单词 假定词由空格分开
''' D:\123.txt的内容如下:
1 a b c 中 国
2 a b c 中 国
'''
#方案一
print '------1'
file_object = open(r'd:\123.txt','rU')
for line in file_object:
for word in line.split():
print word
file_object.close()
#方案二 正则表达式 不支持中文
print '------2'
import re
re_word = re.compile(r"[\w'-]+")
file_object = open(r'd:\123.txt','rU')
for line in file_object:
for word in re_word.finditer(line):
print word.group(0)
file_object.close()
#方案三 封装成迭代器
print '------3'
def wordsoffile(thefilepath, line_to_words = str.split):
the_file = open(thefilepath)
for line in the_file:
for word in line_to_words(line):
yield word
the_file.close()
for word in wordsoffile(r'd:\123.txt'):
print word
打印结果如下:
中国
------1
1
a
b
c
中
国
2
a
b
c
中
国
------2
1
a
b
c
2
a
b
c
------3
1
a
b
c
中
国
2
a
b
c
中
国