Auf der Grundlage Ihrer Frage Ich werde Sie haben zwei Dateien zu übernehmen. Die erste Datei enthält die Wörter, nach denen Sie suchen möchten, getrennt durch eine neue Zeile. Die zweite Datei enthält etwas Text.
Datei 1: (words.txt)
dog
cat
went
File 2: (story.txt)
Today my cat and dog ran out of my backyard.
This is not the first time my dog has ran away.
Last time he went to the dog park and then went to my neighbors house.
Zuerst in der ein Wörterbuch enthält jedes der Schlüsselworte erstellen möchte, words.txt
Datei. Sie würden den Wert davon so oft machen, wie er in der zweiten Datei gesehen wurde.
wordDB = { 'dog': 0, 'cat': 0, 'went' : 0}
Um dies zu tun, dynamisch würden Sie zuerst ein leeres Wörterbuch erstellen und dann die Schleife der Zeilen in der words.txt
Datei.
wordDB = {}
wordFile = open('words.txt','r')
for line in wordFile.readlines():
word = line.replace('\n','') #This replaces the new line character
if not(word in wordDB.keys()): #Checks that the word doesn't already exist.
wordDB[word] = 0 # Adds the word to the DB.
wordFile.close()
Jetzt müssen wir die zweite Datei öffnen und Schleife über jede Zeile in dieser Datei. Für jede Zeile in dieser Datei werden wir jeden Schlüssel in der WordDB überprüfen und wenn er existiert, seine Zählung erhöhen.
storyFile = open('story.txt','r')
checkWordList = wordDB.keys()
for line in storyFile.readlines():
wordList = line.replace('\n','').split(' ')
for eachWord in checkWordList:
if eachWord in wordList:
wordDB[eachWord] = (wordDB[eachWord] + wordList.count(eachWord))
storyFile.close()
Jetzt müssen Sie nur noch einmal die checkWordList durchlaufen und den Wert aus dem WordDB ausdrucken.
for eachWord in checkWordList:
print "%s : %s" % (eachWord, wordDB[eachWord])
Sie die Ausgabe erhalten würden:
went: 2
dog: 3
cat: 1
Sie Eingang hinzufügen können und erwartete Ausgabe? Wie es derzeit aussieht, ist die Frage etwas unklar. – niemmi
Versuchen Sie Wörter in der entsprechenden Datei zu zählen? Oder versuchen Sie zu zählen, wie oft ein bestimmtes Wort erscheint? – siavashk
@niemmi Entschuldigung dafür! Ich kann die erwartete Eingabe hinzufügen, für den ersten Versuch gibt es nichts aus.Aber für meinen anderen Versuch wird es ausgeben, wie viele Zeilen in der Datei sind, dass Im-Überprüfung die Wörter enthält, aber nicht die Anzahl der Wörter in jeder Zeile der Datei, sondern die Gesamtzahl der Schlüsselwörter, die ich ursprünglich in der Datei habe – HelloWorld4382