我使用python打開文件以查找打開的文件中是否存在預定義的單詞集。我將一組預定義的單詞放在一個列表中,並打開了需要測試的文件。現在有什麼方法可以用python而不是行來提取單詞。這使我的工作變得更容易。從文件中提取單詞
Q
從文件中提取單詞
3
A
回答
7
import re
def get_words_from_string(s):
return set(re.findall(re.compile('\w+'), s.lower()))
def get_words_from_file(fname):
with open(fname, 'rb') as inf:
return get_words_from_string(inf.read())
def all_words(needle, haystack):
return set(needle).issubset(set(haystack))
def any_words(needle, haystack):
return set(needle).intersection(set(haystack))
search_words = get_words_from_string("This is my test")
find_in = get_words_from_string("If this were my test, I is passing")
print any_words(search_words, find_in)
print all_words(search_words, find_in)
回報
set(['this', 'test', 'is', 'my'])
True
1
你可以做幾件事情
- 呼叫file.readlines()和分裂整個文本您想要的分隔符,如果你的文字並不大
- 調用read(),並做到這一點,在字節一時間
退房的pydocs文件 - http://docs.python.org/release/2.5.2/lib/bltin-file-objects.html
1
此代碼將顯示哪些話是存在於文件中,因爲這個詞精確匹配,和我不在標點符號或其他字符之前或之後,並且是相同的情況。通過一些小的調整,代碼可以變得更寬容。
words = set(['hello', 'world', 'testing'])
f = open('testfile.txt', 'rb')
data = set(f.read().split())
print words.intersection(data)
相關問題
- 1. 從文件中提取單詞
- 2. 從文件中提取單詞但每個單詞一次
- 3. 從文本中提取特定單詞
- 4. 從文件中提取詞的部分
- 5. Java如何從文本文件中提取單詞?
- 6. 如何從文本文件中提取單詞
- 7. 僅從文本文件中提取帶撇號的單詞
- 8. 單詞提取多行文本文件
- 9. 從文件中獲取單詞輸入
- 10. 從word文件中提取鏈接和單詞
- 11. 如何從python的每一行csv文件中提取單詞?
- 12. RegEx從郵件正文中提取單詞
- 13. sed問題 - 從文件中提取特定單詞
- 14. 從doc/docx文件中提取單詞c#
- 15. 從文件中取詞,然後取下一個單詞。 C#
- 16. 從HTML文檔中提取文本到單詞列表中
- 17. 從R中的文本中提取英文單詞
- 18. 從單詞圖像中提取字符
- 19. 如何從URL中提取單詞?
- 20. 從字符串中提取單詞?
- 21. 如何從行中提取單詞
- 22. 從NLTK WordNet中單獨提取名詞
- 23. 從音頻剪輯中提取單詞
- 24. 從域名中提取單詞
- 25. 從數組中提取單詞
- 26. jQuery從字符串中提取單詞
- 27. 用golang從PDF中提取單詞?
- 28. 從序言列表中提取單詞
- 29. 從網站中提取單詞
- 30. 從序言結構中提取單詞
一個完美的解決方案...如果該文件是太聰明large..any解決 – nikhil 2011-02-10 23:09:38