如何检查目录/子目录中的任何文件中是否存在字符串?

时间:2015-04-27 21:58:53

标签: python bash directory

我有一个字符串列表,我想打印出目录中文件中不存在的任何字符串。 (我不想检查标题)

我理解如何遍历列表,但无法找到如何在目录的所有文件中进行搜索。

这是我到目前为止所得到的:

import fnmatch
import os

matches = []
for root, dirnames, filenames in os.walk('BrowserClient'):
  for filename in fnmatch.filter(filenames, 'file.png'):
    print filename

这只搜索文件名,而我想搜索目录和子目录中的每个文件。

1 个答案:

答案 0 :(得分:1)

您必须open该文件:

import fnmatch
import os

targets = ['Hello', 'World', 'Foo', 'Bar']
matches = []
for root, dirnames, filenames in os.walk('BrowserClient'):
  for filename in fnmatch.filter(filenames, 'file.png'):
    for word in open(filename, 'r').read().split():
      for item in target:
        if word == item:
          matches.append([filename, item])