首页 > 编程 > Python > 正文

Python3处理文件中每个词的方法

2020-01-04 18:10:32
字体:
来源:转载
供稿:网友

这篇文章主要介绍了Python3处理文件中每个词的方法,可实现逐个处理文件中每个词的功能,需要的朋友可以参考下

本文实例讲述了Python3处理文件中每个词的方法。分享给大家供大家参考。具体实现方法如下:

 

 
  1. '''''''  
  2. Created on Dec 21, 2012  
  3. 处理文件中的每个词  
  4. @author: liury_lab  
  5. ''' 
  6. import codecs  
  7. the_file = codecs.open('d:/text.txt''rU''UTF-8')  
  8. for line in the_file:  
  9. for word in line.split():  
  10. print(word, end = "|")  
  11. the_file.close()  
  12. # 若词的定义有变,可使用正则表达式  
  13. # 如词被定义为数字字母,连字符或单引号构成的序列  
  14. import re  
  15. the_file = codecs.open('d:/text.txt''rU''UTF-8')  
  16. print()  
  17. print('************************************************************************')  
  18. re_word = re.compile('[/w/'-]+')  
  19. for line in the_file:  
  20. for word in re_word.finditer(line):  
  21. print(word.group(0), end = "|")  
  22. the_file.close()  
  23. # 封装成迭代器  
  24. def words_of_file(file_path, line_to_words = str.split):  
  25. the_file = codecs.open('d:/text.txt''rU''UTF-8')  
  26. for line in the_file:  
  27. for word in line_to_words(line):  
  28. yield word  
  29. the_file.close()  
  30. print()  
  31. print('************************************************************************')  
  32. for word in words_of_file('d:/text.txt'):  
  33. print(word, end = '|')  
  34. def words_by_re(file_path, repattern = '[/w/'-]+'):  
  35. the_file = codecs.open('d:/text.txt''rU''UTF-8')  
  36. re_word = re.compile('[/w/'-]+')  
  37.  
  38. def line_to_words(line):  
  39. for mo in re_word.finditer(line):  
  40. yield mo.group(0# 原书为return,发现结果不对,改为yield  
  41. return words_of_file(file_path, line_to_words)  
  42. print()  
  43. print('************************************************************************')  
  44. for word in words_by_re('d:/text.txt'):  
  45. print(word, end = '|'

希望本文所述对大家的Python程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表