在Python中使用grep仅搜索确切的单词

时间:2017-07-17 02:36:35

标签: python-3.x grep

我试图在Python中使用grep来搜索文本文件中的单词。我试过这样的事情 -

subprocess.call(['/bin/grep', str(word), "textFile.txt"])

此行正在控制台上打印所有输出。此外,即使单词不完全匹配,它也会返回true。例如,它甚至为此匹配返回一个单词 - xxxwordsxxx

def find_words(in_file, out_file):
    for word in in_file:
        word = word.rstrip()
        subprocess.call(["grep", "-w",  word, "textFile.txt"])      

修改 我的in_file和textFile.txt是一样的。

如何实现搜索确切的单词?如果这不是一个正确的方法,还有其他方法可以进行此搜索吗? (这是一个巨大的文本文件,我必须找到文件中所有单词的副本)

2 个答案:

答案 0 :(得分:0)

尝试使用参数-w:

onNewIntent()

答案 1 :(得分:0)

您可以使用.split()方法遍历一行中的各个单词。例如:

string = "My Name Is Josh"
substring = "Name"
for word in string.split():
    if substring == word:
        print("Match Found")