Trouver un fichier de plusieurs contenant une chaîne de caractères souhaitée en Python

J'ai une chaîne de caractères comme 'pommes'. Je veux trouver cette chaîne, et je sais qu'il existe dans un seul des centaines de fichiers. par exemple,

file1
file2
file3
file4
file5
file6
...
file200

Tous ces fichiers sont dans le même répertoire. Quel est le meilleur moyen de trouver le fichier qui contient cette chaîne à l'aide de python, sachant que exactement un fichier qui le contient.

Je suis venu avec cette:

for file in os.listdir(directory):
    f = open(file)
    for line in f:
        if 'apple' in f:
            print "FOUND"
    f.close()

et ce:

grep = subprocess.Popen(['grep','-m1','apple',directory+'/file*'],stdout=subprocess.PIPE)
found = grep.communicate()[0]
print found
Sont tous ces fichiers dans le même répertoire?
Oui, ils sont..

OriginalL'auteur E.Cross | 2012-06-22