我想在Python中使用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的是相同的。
如何实现搜索确切的单词?如果这不是一个正确的方法,有没有其他方法可以做这个搜索? (这是一个巨大的文本文件,我必须要找到的文件中的所有单词重复)
'subprocess.clas' - 是不正确 – RomanPerekhrest
'call'应被使用,'clas'是一个错字。至于整个单词,你可以尝试用'r'\ b {} \ b“.format(word)'替换'word'吗?或'r'\ <{}\>“.format(word)'?甚至可能是'r'[[:<:]]{}[[:>:]]“.format(word)'?您可以删除''-w'' –
@WiktorStribiżew我试图用'r“\ b {} \ b”.format(word)'替换'word'并且我仍然面临相同的错误 – MMG